0

我在 VS 2012 中使用 EF 5.0 (CodeFirst)。我更改了我的模型(实体)并手动更改了我的数据库。我尝试运行应用程序并出现以下错误:

自创建数据库以来,支持“XXXContext”上下文的模型已更改。考虑使用 Code First 迁移来更新数据库 ( http://go.microsoft.com/fwlink/?LinkId=238269 )。

我唯一的改变是实体属性的名称(数据库中的列)。

  1. 它是自动化还是忽略同步?因为同样已经手动完成,只有不识别它的应用程序。或者运行一些验证手动同步的东西。
  2. 记录的同步信息在哪里让应用程序知道发生了变化?

谢谢

4

1 回答 1

1

您可以选择使用数据库初始化器或迁移。在您的应用程序启动中,您可以使用以下内容启用初始化程序:

System.Data.Entity.Database.SetInitializer<YourDbContextType>(new DropCreateDatabaseIfModelChanges());

如果需要,您还可以子类化并创建自己的逻辑。有关更多信息,请参阅http://www.codeguru.com/csharp/article.php/c19999/Understanding-Database-Initializers-in-Entity-Framework-Code-First.htm

您还可以启用迁移并让它们自动更新您的数据库。Enable-Migrations在包管理器控制台中运行会执行此操作。在这里查看更多信息http://msdn.microsoft.com/en-us/data/jj591621.aspx

于 2013-07-18T19:58:34.203 回答