实体框架 7 命令说明 - 迁移添加与数据库更新



我正在开发一个 ASP.NET 5 应用程序,该应用程序使用具有迁移功能的实体框架 7 来更改应用程序的Microsoft Sql Server 数据库。

当我到达迁移步骤时,我遇到了一些问题,我想澄清实体框架命令migrations adddatabase update做什么。

我的理解是

> dnx ef migrations add Initial

在名为"迁移"的文件夹中创建一个以名称 Initial 结尾的 C# 文件,其中包含将基于应用程序模型类创建表的代码,以及

> dnx ef database update

执行将这些更改添加到数据库的代码。但是,在 migrations add 命令之后,数据库已经创建,控制台在我运行 database update 命令时给出错误,说表已经存在。

从我在不同教程中读到的内容来看,似乎migrations add实际上不应该影响数据库,并且当您运行database update时会发生更改,但看起来并非如此。

有人可以解释一下这些步骤中的每一个都在做什么以及它们如何组合在一起吗?提前感谢!

dnx ef migrations add不应该创建数据库。我怀疑DbContext.Database.EnsureCreated()在您的应用程序代码中的某个地方被调用,从而产生了这种效果。

最新更新