【发布时间】:2020-08-30 12:32:00
【问题描述】:
将我的项目从 dotnet core 2.2 更新到 3.1 后。现在,在运行migrations add 命令后,新迁移包含所有种子数据的更新。
public class MyEntity
{
public Guid Id { get; private set; }
public string Code { get; private set; }
public string Title { get; private set; }
public bool IsActive { get; private set; }
private MyEntity() { }
[JsonConstructor]
public MyEntity(Guid id, string code, string title)
{
Id = id;
Title = title;
Code = code;
IsActive = true;
}
}
public class MyEntityEntityTypeConfiguration
: IEntityTypeConfiguration<MyEntity>
{
public void Configure(EntityTypeBuilder<MyEntity> configuration)
{
configuration.HasKey(b => b.Id);
configuration.Property(b => b.Title).HasMaxLength(150).IsRequired();
configuration.Property(b => b.Code).HasMaxLength(20).IsRequired();
configuration.Property(c => c.IsActive).HasDefaultValue(true);
configuration.HasData(
new MyEntity(new Guid("3274D8FD-DFAE-4396-8DD0-89A6F5107DB1"), "1", "titl1")
);
}
}
这是迁移中不需要的部分,此代码存在于所有功能迁移中。
migrationBuilder.UpdateData(
schema: "dbo",
table: "MyEntity",
keyColumn: "Id",
keyValue: new Guid("08f2aa3d-ad4c-4a82-987c-ff43527466e0"),
column: "IsActive",
value: true);
在更新到 dotnet core 3.1 之前我没有此更新。 有什么变化?
【问题讨论】:
标签: c# entity-framework-core ef-core-3.1