Я использую EF Core 3.1 с подходом сначала к базе данных, используя Linq-to-Entities для добавления новой сущности, но получаю следующую ошибку:
Невозможно вставить явное значение для столбца идентификаторов в таблицу XXX, если для IDENTITY_INSERT установлено значение OFF.
Я сгенерировал таблицы автоматически, поэтому тип столбца ID - int и по умолчанию установлен на 0. Я не могу установить его в NULL, потому что он не допускает NULL.
Я не хочу явно устанавливать значение, я просто хочу, чтобы оно автоматически увеличивалось, как должно.
Вот мой код:
Person person =new Person()
{
FirstName="Dan",
Age=22
};
db.Persons.Add(person);
db.SaveChanges();
Класс Person (сгенерированный из db):
public partial class Person
{
public int ID { get; set; }
public string FirstName { get; set; }
public int Age { get; set; }
}
Заранее благодарим за любую помощь
I generated the tables automatically
что это значит? Вы не разместили код, который превращаетID
вIDENTITY
, так как же он стал таковым? - person Panagiotis Kanavos   schedule 20.01.2020IDENTITY
, Scaffold должен был передать код FluentAPI как минимум. Если вы использовали параметр -DataAnnotations
, он также должен был выдать атрибуты. Как выглядит ваш код конфигурации DbContext? - person Panagiotis Kanavos   schedule 20.01.2020IDENTITY
после scaffolding, вам необходимо регенерировать классы. - person Panagiotis Kanavos   schedule 20.01.2020