[英]Update Database after Model Changes - Entity Framework 7
我使用最新的ASP.NET5 MVC 6实体框架7创建了一个应用程序并使用设置迁移
dnx . ef migration add Initial
dnx . ef migration apply
这有效,但是当我对模型进行更改时,数据库不会更新。 我想在运行程序时更改模型后自动更新数据库。
我的研究只向我指出了似乎不适合实体框架7的旧信息。
我目前的代码:
public ApplicationDbContext(): base()
{
if (!_created)
{
Database.AsRelational().ApplyMigrations();
_created = true;
}
}
有人能指出我正确的方向吗?
我相信它可以用来做这样的事情:
Database.SetInitializer(new DropCreateDatabaseAlways<MyContext>());
您必须从命令行手动运行EF7迁移,或者从代码调用Database.Migrate,EF7中没有任何自动化(经过深思熟虑的决定),并且在更改模型后,创建新的迁移
在创建迁移和更新数据库结构的过程之间似乎存在一些混淆。
在EF7中,您无法再自动生成迁移(当前数据库结构与实体定义之间的差异)。 要在命令行中使用“迁移添加”命令完成此操作。
但是,更新数据库的结构仍然可以通过代码完成。 这是使用dbContext.Database.Migrate()方法完成的。 您可以在启动时将其连接起来,这样当您的应用程序首次启动时,它将确保您的数据库已更新为当前版本的应用程序。
所以你的开发工作流程可以是:
启动你的应用*
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.