Как использовать автоматическое увеличение в Entity Framework 5 при заполнении данных?

#entity-framework

Вопрос:

Я хотел бы добавлять данные в свою базу данных после каждого обновления схемы базы данных , но у меня возникли проблемы с решением проблемы с моей функцией заполнения. Мой класс (значение) выглядит так

 public class ObjectInstance {  [Key]  [DatabaseGenerated(DatabaseGeneratedOption.Identity)]  public int ObjectInstanceId { get; set; }    [Column(TypeName = "NVARCHAR")]  [StringLength(255)]  public string ObjectInstanceTitle { get; set; } }  

Я установил необходимые атрибуты в своей ключевой колонке — я думаю.

В моем DbContext у меня есть следующая функция:

 protected override void OnModelCreating(ModelBuilder modelBuilder) {  modelBuilder.Entitylt;ObjectClassgt;(b =gt;  {  b.HasKey(e =gt; e.ObjectClassId);  b.Property(e =gt; e.ObjectClassId).ValueGeneratedOnAdd().UseIdentityColumn(0, 1);   b.HasData(  new ObjectClass  {  ObjectClassTitle = "Object",  ObjectClassDescription = "Root object",  OfType = 1  },  new ObjectClass  {  ObjectClassTitle = "Object",  ObjectClassDescription = "Root object",  OfType = 1  }  );  });  }  

Независимо от того, что я пытаюсь сделать, я получаю следующую ошибку:

Начальная сущность для типа сущности «objectClass» не может быть добавлена, поскольку для свойства «ObjectClassId» требуется ненулевое значение. Рассмотрите возможность предоставления отрицательного значения, чтобы избежать столкновений с данными, не являющимися исходными.

Заранее спасибо.

Комментарии:

1. Что ж — сообщение об ошибке говорит вам , что делать — Подумайте о предоставлении отрицательного значения, чтобы избежать столкновений с данными, не являющимися исходными. -вы пробовали это?

2. Да, и это сработало отлично. Я предполагаю, что мне придется вручную ввести идентификатор.