EF 7 迁移。不同程序集中的 Web 项目、DBContext 和迁移
EF 7 Migrations. Web project, DBContext and Migrations in different assemblies
我的解决方案中有三个项目。
BaseApp.Data
- 包含我的 DBContext。
BaseApp.Data.ProjectMigration
- 包含所有迁移文件(取决于 BaseApp.Data
)
BaseApp.Web
- Web 应用程序启动 class.
我这样添加我的第一个迁移:
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
结果相同。还有下一个命令 returns "No migrations were found".
dnx ef migrations list -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");
我的解决方案中有三个项目。
BaseApp.Data
- 包含我的 DBContext。
BaseApp.Data.ProjectMigration
- 包含所有迁移文件(取决于 BaseApp.Data
)
BaseApp.Web
- Web 应用程序启动 class.
我这样添加我的第一个迁移:
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
结果相同。还有下一个命令 returns "No migrations were found".
dnx ef migrations list -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");