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

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

Сообщение Anonymous »

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

System.AggregateException: произошла одна или несколько ошибок. (Исходный объект для типа сущности «AdditionalProductSubType» невозможно добавить, поскольку уже добавлен другой исходный объект со значением ключа «Id:1».)
System.InvalidOperationException: Начальный объект для типа сущности «AdditionalProductSubType» невозможно добавить, поскольку уже добавлен другой исходный объект со значением ключа «Id:1».

Эта ошибка возникает, когда пытающийся чтобы создать миграцию для таблицы 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: 7.0
  • База данных: SQL Server
  • Среда разработки: Windows 10, .NET 7
Почему EF Core обнаруживает повторяющиеся исходные данные при в коде нет явных дубликатов?
Есть идеи или решения Буду очень признателен!
Что я пробовал:
  • Проверил, что в семени нет повторяющихся значений идентификатора. data
  • Проверены все предыдущие миграции на наличие повторяющихся исходных данных для таблицы ExtraProductSubType.
  • Проверен файл AppDbContextModelSnapshot, чтобы убедиться в отсутствии существуют повторяющиеся начальные данные


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

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

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

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

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

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