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();
现在工作正常。我意识到,在dB的任何变化之后,我必须删除和重新拖动模型中的表。代码本身没有问题