Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

update an sql server database using  entity framework code first migration

Posted on 2015-01-23
5
173 Views
Last Modified: 2015-01-29
Hi.
I have an application that uses a local database. And I have something like 300 databases to update. All of them in remote places.
I then created an application that has two projects. a model with the database tables and another to the context ..
then follow the sequence:
1. the development machine ran the application. that's perfect. created the database.
2. altered a model class.
3. ran the "enable-migrations"
3. ran the "add-migration class1"
4. I ran the "update-database"

worked perfectly.

copied the compiled application and took her to a remote machine. I ran the application and it worked perfectly.

I returned the development machine and changed a new class. performed the following:
1. "add-migration class2"
2. "update-database"

worked perfectly.

I copied the compiled application and took to the remote machine (the same) and ran the program and get an exception saying that the context has changed since the database was created and that I must consider the code first migration.

I will use the program exactly not to need the presence on site.

Where am I going wrong?
0
Comment
Question by:Deraldo Silva
  • 4
5 Comments
 
LVL 16

Expert Comment

by:Easwaran Paramasivam
ID: 40566198
Could you please put exact exception you got?
0
 

Author Comment

by:Deraldo Silva
ID: 40566693
Sure.

Unhandled Exception: System.InvalidOperationException: The model backing the 'Db
BancoContexto' context has changed since the database was created. Consider usi
ng Code First Migrations to update the database (http://go.microsoft.com/fwlink/
?LinkId=238269).
   at System.Data.Entity.CreateDatabaseIfNotExists`1.InitializeDatabase(TContext
 context)
   at System.Data.Entity.Internal.InternalContext.<>c__DisplayClassf`1.<CreateIn
itializationAction>b__e()
   at System.Data.Entity.Internal.InternalContext.PerformInitializationAction(Ac
tion action)
   at System.Data.Entity.Internal.InternalContext.PerformDatabaseInitialization(
)
   at System.Data.Entity.Internal.LazyInternalContext.<InitializeDatabase>b__4(I
nternalContext c)
   at System.Data.Entity.Internal.RetryAction`1.PerformAction(TInput input)
   at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabaseAction(A
ction`1 action)
   at System.Data.Entity.Internal.LazyInternalContext.InitializeDatabase()
   at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType
(Type entityType)
   at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize()
   at System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext()
   at System.Data.Entity.Internal.Linq.InternalSet`1.ActOnSet(Action action, Ent
ityState newState, Object entity, String methodName)
   at System.Data.Entity.Internal.Linq.InternalSet`1.Add(Object entity)
   at System.Data.Entity.DbSet`1.Add(TEntity entity)
   at GenerateDatabase.Program.Main(String[] args) in c:\Projects\GenerateDataba
se\GenerateDatabase\Program.cs:line 19
0
 

Author Comment

by:Deraldo Silva
ID: 40568020
Hi.

If I use this Database.SetInitializer<DbBancoContexto>(null); the application runs but the migration is not applied. If I take it off, I got the error above.
0
 

Accepted Solution

by:
Deraldo Silva earned 0 total points
ID: 40568024
This works.

very nice. thx to "tilde" @internet.

Database.SetInitializer<DbBancoContexto>(new MigrateDatabaseToLatestVersion<DbBancoContexto, GenerateDatabase.Migrations.Configuration>());

Open in new window

0
 

Author Closing Comment

by:Deraldo Silva
ID: 40577049
I do not want the credit for the solution. I am just setting as solution for someone use.
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Extention Methods in C# 3.0 by Ivo Stoykov C# 3.0 offers extension methods. They allow extending existing classes without changing the class's source code or relying on inheritance. These are static methods invoked as instance method. This…
Calculating holidays and working days is a function that is often needed yet it is not one found within the Framework. This article presents one approach to building a working-day calculator for use in .NET.
I've attached the XLSM Excel spreadsheet I used in the video and also text files containing the macros used below. https://filedb.experts-exchange.com/incoming/2017/03_w12/1151775/Permutations.txt https://filedb.experts-exchange.com/incoming/201…

808 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question