Ошибка добавления миграции EF Core: повторяющаяся начальная сущность для «AdditionalProductSubType»C#

Место общения программистов C#
Ответить
Anonymous
 Ошибка добавления миграции EF Core: повторяющаяся начальная сущность для «AdditionalProductSubType»

Сообщение Anonymous »

Я столкнулся с проблемой при запуске команды Add-Migration в моем проекте EF Core. Команда завершается ошибкой со следующей ошибкой:

Код: Выделить всё

System.AggregateException: One or more errors occurred. (The seed entity for entity type 'AdditionalProductSubType' cannot be added because another seed entity with the key value 'Id:1' has already been added.) ---> System.InvalidOperationException: The seed entity for entity type 'AdditionalProductSubType' cannot be added because another seed entity with the key value 'Id:1' has already been added. ... 
Эта ошибка возникает при попытке создать миграцию для таблицы ExtraProductSubType. Я убедился, что мои начальные данные не содержат повторяющихся значений идентификаторов. Ниже приведены соответствующие разделы моего кода и настройки.
Конфигурация исходных данных:
Исходные данные определяются в классе ExtraProductSubTypeSeed следующим образом:

Код: Выделить всё

public class AdditionalProductSubTypeSeed : IEntityTypeConfiguration
{
public void Configure(EntityTypeBuilder builder)
{
builder.HasData(
new AdditionalProductSubType { Id = 1, ParentTypeId = 4, TypeName = "Young Driver" },
new AdditionalProductSubType { Id = 2, ParentTypeId = 4, TypeName = "Premium Location Fee" },
new AdditionalProductSubType { Id = 3, ParentTypeId = 4, TypeName = "Out of Hours Fee" }
);
}
}
Код миграции:
Файл миграции содержит следующий код, соответствующий таблице ExtraProductSubType:

Код: Выделить всё

migrationBuilder.CreateTable(
name: "ADDITIONALPRODUCTSUBTYPES",
schema: "dbo",
columns: table => new
{
ID = table.Column(type: "int", nullable: false)
.Annotation("SqlServer:Identity", "1, 1"),
PARENTTYPEID = table.Column(type: "int", nullable: false),
TYPENAME = table.Column(type: "nvarchar(max)", nullable: false)
},
constraints: table =>
{
table.PrimaryKey("PK_ADDITIONALPRODUCTSUBTYPES", x => x.ID);
table.ForeignKey(
name: "FK_ADDITIONALPRODUCTSUBTYPES_ADDITIONALPRODUCTTYPE_PARENTTYPEID",
column: x => x.PARENTTYPEID,
principalSchema: "dbo",
principalTable: "ADDITIONALPRODUCTTYPE",
principalColumn: "Id");
});

migrationBuilder.InsertData(
schema: "dbo",
table: "ADDITIONALPRODUCTSUBTYPES",
columns: new[] { "ID", "PARENTTYPEID", "TYPENAME" },
values: new object[,]
{
{ 1, 4, "Young Driver" },
{ 2, 4, "Premium Location Fee" },
{ 3, 4, "Out of Hours Fee" }
});
Моя среда:
EF Core Version: 7.0
База данных: SQL Server
Среда разработки: Windows 10, .NET 7
Почему EF Core обнаруживает повторяющиеся начальные данные, хотя явных дубликатов в коде нет?
Будем очень признательны за любые идеи и решения!
Что я пробовал:
  • Проверено, что в исходных данных нет повторяющихся значений идентификаторов.
  • Проверены все предыдущие миграции на наличие повторяющихся исходных данных для таблицы ExtraProductSubType.< /li>
    Проверен файл AppDbContextModelSnapshot, чтобы убедиться в отсутствии повторяющихся исходных данных.


Подробнее здесь: https://stackoverflow.com/questions/792 ... uctsubtype
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»