EF 7迁移。不同程序集中的Web项目,DBContext和迁移

时间:2016-01-22 10:34:12

标签: asp.net-core asp.net-core-mvc entity-framework-core

我的解决方案中有三个项目。

BaseApp.Data - 持有我的DBContext。

BaseApp.Data.ProjectMigration - 包含所有迁移文件(取决于BaseApp.Data

BaseApp.Web - 使用Startup类的Web应用程序。

我添加了这样的第一次迁移:

dnx ef migrations add Initial -p BaseApp.Data.ProjectMigration

执行此命令后,将显示“迁移”文件夹,其中包含BaseApp.Data.ProjectMigration中的所有相应文件。所以到目前为止一切都还可以。

比我尝试应用迁移:

dnx ef database update

在此命令之后,将创建数据库,但不会应用任何迁移。我也试过

dnx ef database update -p BaseApp.Data.ProjectMigration

同样的结果。下一个命令也返回“未找到迁移”。

dnx ef migrations list -p BaseApp.Data.ProjectMigration

此外,如果我将迁移添加到BaseApp.Data,那么一切正常。下一个命令按预期工作:

dnx ef migrations add Initial -p BaseApp.Data

dnx ef database update

那么是否可以不在DBContext项目中保存迁移文件?

1 个答案:

答案 0 :(得分:3)

您还需要设置迁移程序集。

options.UseSqlServer(connectionString)
    .MigrationsAssembly("BaseApp.Data.ProjectMigration");