我有一个具有以下形式的引用约束的实体:Entity->Others,并且正在尝试删除有问题的实体。
加载实体后删除,然后保存回来,这工作正常。
Entity entity = null;
entity = db.Entities.Where(o => o.Id == loadId).FirstOrDefault();
db.Entities.DeleteObject(entity);
db.SaveChanges();
通过引用约束向其他类型的实体添加单个检查会导致在保存时引发异常
Entity entity = null;
entity = db.Entities.Where(o => o.Id == loadId).FirstOrDefault();
entity.Others.Count();
db.Entities.DeleteObject(entity);
db.SaveChanges();
除了:
操作失败:无法更改关系,因为一个或多个外键属性不可为空。当对关系进行更改时,相关的外键属性将设置为空值。如果外键不支持空值,则必须定义新关系,必须为外键属性分配另一个非空值,或者必须删除不相关的对象。
我并没有期望太多,因为我在这里没有完整且最少的代码,但是关于如何简单地访问其他人使实体无效以进行保存的最模糊的建议将不胜感激。