我正在开发一个ASP.NET 5应用程序,该应用程序使用Entity Framework 7进行迁移以更改应用程序的Microsoft Sql Server数据库 .
当我到达迁移步骤时,我遇到了一些问题,我想澄清实体框架命令 migrations add
和 database update
做了什么 .
这是我的理解
> dnx ef migrations add Initial
在名为Migrations的文件夹中创建一个以名称Initial结尾的C#文件,其中包含将根据应用程序模型类创建表的代码,以及
> dnx ef database update
执行将这些更改添加到数据库的代码 . 但是,在 migrations add
命令之后,数据库已经创建,并且当我运行 database update
命令时控制台发出错误,表示这些表已经存在 .
从我在不同教程上看到的内容来看,似乎 migrations add
实际上不应该影响数据库,并且当您运行 database update
时会发生更改,但事实并非如此 .
有人可以解释每个步骤正在做什么以及它们如何组合在一起?提前致谢!
1 回答
dnx ef migrations add
不应该创建数据库 . 我怀疑DbContext.Database.EnsureCreated()
正在应用程序代码中的某个地方被调用,从而产生这种效果 .