Entity Framework 7 个命令说明 - 迁移添加与数据库更新?

Entity Framework 7 commands clarification - migrations add vs. database update?

我正在开发 ASP.NET 5 应用程序,该应用程序使用 Entity Framework 7 进行迁移以更改应用程序的 Microsoft Sql 服务器数据库。

当我到达迁移步骤时,我 运行 遇到了一些问题,我想澄清 Entity Framework 命令 migrations adddatabase update 的内容做。

据我了解

> dnx ef migrations add Initial

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

> dnx ef database update

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

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

谁能解释一下每个步骤的作用以及它们是如何组合在一起的?提前致谢!

dnx ef migrations add 不应创建数据库。我怀疑 DbContext.Database.EnsureCreated() 在您的应用程序代码中的某处被调用以产生这种效果。