#model #entity-framework-core #initialization #seeding
Вопрос:
Я следовал инструкциям https://docs.microsoft.com/en-us/ef/core/modeling/data-seeding, использовал исходные данные модели для ввода данных в мою базу данных. Проблема в том, что некоторые записи данных не были вставлены в базу данных. Я взглянул на файл моментального снимка модели, и эти данные уже были определены:
modelBuilder.Entity("MyDatabase.WTSupportedConnectionType", b =>
{
b.Property<long>("Id")
.ValueGeneratedOnAdd()
.HasColumnType("bigint")
.HasAnnotation("SqlServer:ValueGenerationStrategy", SqlServerValueGenerationStrategy.IdentityColumn);
b.Property<long>("ConnectionTypeId")
.HasColumnType("bigint");
b.Property<long>("WeighingTerminalId")
.HasColumnType("bigint");
b.HasKey("Id");
b.HasIndex("ConnectionTypeId");
b.HasIndex("WeighingTerminalId");
b.ToTable("WeighingTerminalSupportedConnectionTypes");
b.HasData(
new
{
Id = 1L,
ConnectionTypeId = 1L,
WeighingTerminalId = 1L
},
new
{
Id = 2L,
ConnectionTypeId = 2L,
WeighingTerminalId = 2L
},
new
{
Id = 3L,
ConnectionTypeId = 2L,
WeighingTerminalId = 3L
},
new
{
Id = 4L,
ConnectionTypeId = 2L,
WeighingTerminalId = 4L
},
new
{
Id = 5L,
ConnectionTypeId = 2L,
WeighingTerminalId = 5L
});
});
В базу данных были добавлены только записи с идентификаторами 1, 2, 4, а записи с идентификаторами 3 и 5 не были добавлены. Я проверил внешние ключи, и все они верны.
Как я мог бы решить эту проблему?
Комментарии:
1. Попробуйте проверить сгенерированную миграцию, если она выглядит нормально — сгенерируйте сценарий обновления sql и попробуйте применить его из какой-нибудь среды разработки и проверьте на наличие ошибок.