我的解决方案中有三个项目。
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项目中保存迁移文件?
答案 0 :(得分:3)
您还需要设置迁移程序集。
options.UseSqlServer(connectionString)
.MigrationsAssembly("BaseApp.Data.ProjectMigration");