Entity Framework 7 个命令说明 - 迁移添加与数据库更新?
Entity Framework 7 commands clarification - migrations add vs. database update?
我正在开发 ASP.NET 5 应用程序,该应用程序使用 Entity Framework 7 进行迁移以更改应用程序的 Microsoft Sql 服务器数据库。
当我到达迁移步骤时,我 运行 遇到了一些问题,我想澄清 Entity Framework 命令 migrations add
和 database 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()
在您的应用程序代码中的某处被调用以产生这种效果。
我正在开发 ASP.NET 5 应用程序,该应用程序使用 Entity Framework 7 进行迁移以更改应用程序的 Microsoft Sql 服务器数据库。
当我到达迁移步骤时,我 运行 遇到了一些问题,我想澄清 Entity Framework 命令 migrations add
和 database 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()
在您的应用程序代码中的某处被调用以产生这种效果。