我尝试向DB添加新模型,但模型已经存在子模型 我收到了这个错误:
"发生了参照完整性约束违规:' Category.ID'的属性值。在一段关系的一端与' Lesson.CategoryID'的属性值不匹配。在另一端。"
例如:
public class Category
{
public int ID { get; set; }
public string Name{ get; set; }
public List<Lesson> Lessons{ get; set; }
}
public class Lesson
{
public int ID { get; set; }
public string Name{ get; set; }
public List<Category> Categories { get; set; }
}
我认为类别ID仍然为0,直到数据库将生成新的ID和Lesson.CategoryID填写为0,类别中不存在
保存代码:
DB.Categories.Add(obj);
DB.ChangeTracker.Entries()
.Where(x => x.Entity is BaseModel && x.State == EntityState.Added && ((BaseModel)x.Entity).ID > 0)
.ToList().ForEach(x => x.State = EntityState.Unchanged);
知道如何解决这个问题吗? 不管怎样,谢谢