Я использую ядро EntityFramework версии 3.1.1. Целевая база данных: SQL сервер
У меня проблема с миграцией начального числа данных, генерируемой ядром EntityFramework. Моя модель выглядит так:
public class MyTable
{
public int Id { get; set; }
public bool Flag { get; set; }
}
Мой DbContext выглядит так:
public class MyDbContext : DbContext
{
public DbSet<MyTable> MyTable { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<MyTable>()
.Property(t => t.Flag)
.HasDefaultValue(true);
modelBuilder.Entity<MyTable>().HasData(new MyTable
{
Id = 1,
Flag = true,
});
}
}
Итак, у меня есть таблица со столбцом bit
со значением по умолчанию true
.
Но когда я генерирую новые миграции с помощью dotnet ef migrations add
, он снова и снова генерирует UpdateData
операторов:
migrationBuilder.UpdateData(
table: "MyTable",
keyColumn: "Id",
keyValue: 1,
column: "Flag",
value: true);
Например, если я генерирую 5 миграций, я получу 5 UpdateData
операторов без изменений файл снимка.
Что я делаю не так?