模型更改后更新数据库 - 实体框架7

Rea*_*idy 5 c# asp.net-mvc entity-framework entity-framework-core asp.net-core-mvc

我使用最新的ASP.NET5 MVC 6实体框架7创建了一个应用程序并使用设置迁移

dnx . ef migration add Initial
dnx . ef migration apply
Run Code Online (Sandbox Code Playgroud)

这有效,但是当我对模型进行更改时,数据库不会更新.我想在运行程序时更改模型后自动更新数据库.

我的研究只向我指出了似乎不适合实体框架7的旧信息.

我目前的代码:

 public ApplicationDbContext(): base()
   {

        if (!_created)
        {

             Database.AsRelational().ApplyMigrations();
             _created = true;         
        }
  }
Run Code Online (Sandbox Code Playgroud)

有人能指出我正确的方向吗?

我相信它可以用来做这样的事情:

Database.SetInitializer(new DropCreateDatabaseAlways<MyContext>());
Run Code Online (Sandbox Code Playgroud)

Eri*_*kEJ 5

您必须从命令行手动运行EF7迁移,或者从代码调用Database.Migrate,EF7中没有任何自动化(经过深思熟虑的决定),并且在更改模型后,创建新的迁移

  • 谢谢,这似乎向后退了一步.这可以通过代码实现.现在每次我更改模型(非常频繁)我都要删除旧的迁移,启动电源shell创建一个新的迁移,转到sql server studio删除数据库然后再回到power shell来应用新的数据库模式. (3认同)