sfreaky
@sfreaky
Начинающий веб и софт разработчик

Как исправить ошибку «Cannot insert explicit value for identity column»?

Есть две сущности
public class Sub
    {
        public int SubId { get; set; }
        public string Name { get; set; }
        public SubType Type { get; set; }
        public int Priority { get; set; }
        public int SupGroupId { get; set; }
        public virtual SubGroup SubGroup { get; set; }
        public enum SubType { TextBox,TextArea,Image};
    }

public class SubGroup
    {
        public int SubGroupId { get; set; }
        public string Name { get; set; }
        public Type ForType { get; set; }
        public int Priority { get; set; }
        public virtual ICollection<Sub> Sub { get; set; }

        public enum Type
        {
            [Display(Name = "Отзывы")]
            Review,
            [Display(Name = "Предложения")]
            Application,
            [Display(Name = "Страницы")]
            Page,
            [Display(Name = "Организации")]
            Organization,
            [Display(Name = "Тендеры")]
            Tender,
            [Display(Name = "Тендеры")]
            Offer,
            [Display(Name = "Комментарии")]
            Comment,
            [Display(Name = "Посты")]
            Post
        }
    }

Добавление SubGroup в DbSet происходит без ошибок. Но при задании свойства SubGroup в модели Sub выбрасывается следующий Exception
5a6c9f8ea1e21047160261.png
  • Вопрос задан
  • 605 просмотров
Пригласить эксперта
Ответы на вопрос 1
RinatG
@RinatG
Разработчик .Net
на каждом автоинкрементном (средствами субд) поле необходимо добавить атрибут [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
за одно для всех полей primary key поставить атрибут [Key]
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы