Solved

update an sql server database using  entity framework code first migration

Posted on 2015-01-23
5
165 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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

We all know that functional code is the leg that any good program stands on when it comes right down to it, however, if your program lacks a good user interface your product may not have the appeal needed to keep your customers happy. This issue can…
Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.
Migrating to Microsoft Office 365 is becoming increasingly popular for organizations both large and small. If you have made the leap to Microsoft’s cloud platform, you know that you will need to create a corporate email signature for your Office 365…

910 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

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now