【问题标题】:How to manually update Entity framework Code first model so that it updates a database (with a new column)?如何手动更新实体框架代码优先模型,以便它更新数据库(带有新列)?
【发布时间】:2011-10-29 08:35:56
【问题描述】:

谁能告诉我如何将数据成员 (col) 添加到我的 mvc3 模型 (类) 并让它更新数据库而不必从头开始生成所有内容?我首先从代码开始工作。当我更改模型然后运行我的项目时,我收到一条错误消息,指出模型已更改。有什么干净简单的方法可以将创建新的 col/data mamber 与 db/model 同步吗?

谢谢!

【问题讨论】:

  • 这不是 MVC3 问题,它是实体框架代码的第一个问题。
  • 我认为这主要是添加新字段的情况,在 Visual Studio 中右键单击并选择更新项,因为您首先使用代码。

标签: asp.net asp.net-mvc-3 entity-framework entity-framework-4.1 ef-code-first


【解决方案1】:

您可以在应用程序启动中使用它,

 Database.SetInitializer(new DropCreateDatabaseIfModelChanges<YourDBContext>());

如果您的模型发生更改,它将重新生成数据库。如果您不想删除并创建数据库(增量开发),您可以使用 SqlMigrations。 http://www.hanselman.com/blog/EntityFrameworkCodeFirstMigrationsAlphaNuGetPackageOfTheWeek10.aspx

【讨论】:

  • 如果我的数据库中有数据怎么办?
  • 你可以使用第二种方法。它不会重新创建数据库。或者,您可以拥有自己的初始化程序,在重新生成时创建数据库并插入基本数据(或执行脚本)。阅读这个答案。stackoverflow.com/questions/6881509/…
  • SqlMigrations 包非常棒。感谢您的链接,Jayantha!
猜你喜欢
  • 2011-09-30
  • 1970-01-01
  • 2016-06-19
  • 1970-01-01
  • 1970-01-01
  • 2018-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多