EF不能在表'PATIENT DONOR'当IDENTITY_INSERT设置为OFF时

本文关键字:INSERT 设置 IDENTITY OFF DONOR 不能 PATIENT EF | 更新日期: 2023-09-27 18:18:35

我正在使用EF工作,我有一个具有身份属性的表,我尝试了很多解决方案,但我仍然得到该错误。我将类中的属性定义为:

[Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int PATIENTDONORID { get; set; } 

我仍然会得到这个错误我在OnModelCreating中设置了身份选项我也会得到同样的错误

 protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
           // throw new UnintentionalCodeFirstException();
            modelBuilder.Entity<PATIENT_DONOR>().Property(x => x.PATIENTDONORID)
              .HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
        }

这是在数据库中插入和保存更改的代码:

foreach (var item in patient.DONORS)
                {
                    if (item.Checked)
                    {
                        db.PATIENT_DONOR.Add(new PATIENT_DONOR() { PATIENT_ID = patient.PATIENT_ID, DONOR_ID = item.ID});
                    }
                }
               // db.Entry(patient).State = EntityState.Modified;
                db.SaveChanges();

EF不能在表'PATIENT DONOR'当IDENTITY_INSERT设置为OFF时

现在工作正常。我意识到,在dB的任何变化之后,我必须删除和重新拖动模型中的表。代码本身没有问题