6 entity-framework entity-framework-core .net-core asp.net-core entity-framework-migrations
所以我想以编程方式使用迁移,为此我做了这样的事情。
Seed 是我通过 StoreContext 创建的扩展方法
StoreContext 是我的 DbContext
internal StoreContext(DbContextOptions options)
: base(options)
{
RelationalDatabaseCreator creator = this.GetService<IDatabaseCreator>() as RelationalDatabaseCreator;
if (!creator.Exists())
{
creator.Create(); ///=> create database
creator.CreateTables(); ///=> create database tables
}
Database.Migrate(); ///=> apply migrations
if (creator.Exists())
{
this.Seed();
}
}
Run Code Online (Sandbox Code Playgroud)
如果我运行时数据库不存在
添加迁移初始
一切都很好(这仅适用于我的第一次迁移)
如果我决定添加新的迁移
Add-Migration Add_Student_FirstName
学生中的一个新字段然后我得到这个 PMC 异常
数据库中已经有一个名为“SomeTableName”的对象。
控制台抱怨的 SomeTableName 不一定是我添加更改的表。
但是,如果我进入我的代码并注释该行
Database.Migrate(); ///=> apply migrations
Run Code Online (Sandbox Code Playgroud)
并再次运行
Add-Migration Add_Student_FirstName
一切都很好(我的迁移已添加到 Migrations 文件夹,但我仍然必须使用
更新数据库
命令)
那么我正在做的事情有什么问题,我应该如何解决这个问题,以便在我创建迁移时自动应用它?
谢谢
| 归档时间: |
|
| 查看次数: |
1201 次 |
| 最近记录: |