#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. Да, и это сработало отлично. Я предполагаю, что мне придется вручную ввести идентификатор.