Как я могу заполнить данные EF Core?

#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 и попробуйте применить его из какой-нибудь среды разработки и проверьте на наличие ошибок.