Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core EF7迁移。不同程序集中的Web项目、DBContext和迁移_Asp.net Core_Asp.net Core Mvc_Entity Framework Core - Fatal编程技术网

Asp.net core EF7迁移。不同程序集中的Web项目、DBContext和迁移

Asp.net core EF7迁移。不同程序集中的Web项目、DBContext和迁移,asp.net-core,asp.net-core-mvc,entity-framework-core,Asp.net Core,Asp.net Core Mvc,Entity Framework Core,我的解决方案中有三个项目 BaseApp.Data-用于保存我的数据库上下文 BaseApp.Data.ProjectMigration-它保存所有迁移文件(取决于BaseApp.Data) BaseApp.Web-具有启动类的Web应用程序 我添加了我的第一次迁移,如下所示: dnx ef migrations add Initial -p BaseApp.Data.ProjectMigration 执行此命令后,将显示Migrations文件夹,其中包含BaseApp.Data.Proje

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

BaseApp.Data
-用于保存我的数据库上下文

BaseApp.Data.ProjectMigration
-它保存所有迁移文件(取决于
BaseApp.Data

BaseApp.Web
-具有启动类的Web应用程序

我添加了我的第一次迁移,如下所示:

dnx ef migrations add Initial -p BaseApp.Data.ProjectMigration
执行此命令后,将显示Migrations文件夹,其中包含
BaseApp.Data.ProjectMigration
中的所有相应文件。到目前为止一切都还可以

然后我尝试应用迁移:

dnx ef database update
执行此命令后,将创建数据库,但不会应用任何迁移。我也试过了

dnx ef database update -p BaseApp.Data.ProjectMigration
同样的结果。另外,下一个命令返回“未找到任何迁移”

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

dnx ef migrations add Initial -p BaseApp.Data

dnx ef database update

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

您还需要设置迁移程序集

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