我正在使用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();
我该怎么办?
答案 0 :(得分:0)
现在工作正常。 我意识到在dB的任何变化之后我必须删除并重新划分模型中的表。 并且代码本身没有问题