我正在开发一个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
时会发生更改,但它看起来不一样就像那样。
有人可以解释每个步骤正在做什么以及它们如何组合在一起?提前谢谢!
答案 0 :(得分:1)
dnx ef migrations add
不应该创建数据库。我怀疑在您的应用程序代码中某处调用DbContext.Database.EnsureCreated()
会给它带来这种效果。