Я только что столкнулся с проблемой, напоминающей ситуацию с курицей и яйцом.
Я пытаюсь заполнить данные в EF 2.1.3. У меня есть класс под названием «Образец».
public class Sample
{
public long Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public bool IsActive { get; set; }
public bool IsVisible { get; set; }
}
У меня есть следующий метод посева:
builder.HasData(
new Sample {Id=1, IsActive = true, IsVisible = true, Name = "Test 1" },
new Sample { Id = 2, IsActive = true, IsVisible = true, Name = "Test 2" },
new Sample { Id = 3, IsActive = true, IsVisible = true, Name = "Test 3" }
);
Теперь, похоже, сработало нормально, когда я впервые запустил миграцию
Теперь, однако, каждый раз, когда я запускаю команду Add-Migration, я получаю эту ошибку:
The seed entity for entity type 'Sample' cannot be added because another seed entity with the same key value for {'Id'} has already been added. Consider using 'DbContextOptionsBuilder.EnableSensitiveDataLogging' to see the conflicting key values.
Избавление от значений Id из начальных данных - приводит к этой ошибке:
The seed entity for entity type 'Sample' cannot be added because there was no value provided for the required property 'Id'.