我有一个初始数据库迁移。现在我需要创建第一个增量迁移。当我创建第一个增量迁移时
add-migration Incremental1
它不仅包含表更改,还包含所有数据更改。例如,对于在表之间添加的行,它包含DeleteData
命令:
migrationBuilder.DeleteData(
table: "SystemResources",
keyColumn: "Id",
keyValue: 1);
是否有一些设置仅用于生成表更改(添加/删除列)并忽略所有数据更改(插入的数据行)?
解决方案是:
modelBuilder.Entity<T>().HasData
语句禁用数据播种,add-migration
创建增量迁移,DeleteData
/ InsertData
命令,update-database
。在此之后,种子数据不再是模型快照(qazxsw poi文件)的一部分,因此不再由迁移跟踪。
这也意味着下一次增量迁移将不包含任何<Database>ModelSnapshot.cs
/ DeleteData
语句。