我有一个"请求"实体与"RequestProperty"实体的关系为1 ..*.所以在"请求"中有一组RequestProperty对象.当我更新"请求"时,我想删除RequestProperty EntityCollection中的所有项目,并添加来自传入域对象的新项目.当我遍历Request.Properties集合并调用项目中的remove或a DeleteObject时,枚举失败,因为集合已被修改.
截至目前我正在这样做:
while (true)
{
if (newRequest.Properties.Count > 0)
context.RequestPropertySet.DeleteObject(newRequest.Properties.First());
else
break;
}
Run Code Online (Sandbox Code Playgroud)
由于这不是真的"酷",我认为必须有另一种方法来清空一个关系的集合.谢谢你的想法.
我正在使用Entity Framework 4并且在父实体和子实体之间具有一对多的关系.我正在尝试通过从父的子集合中删除它来删除使用父存储库的子节点:
public virtual void RemoveChild(Child child)
{
children.Remove(child);
}
Run Code Online (Sandbox Code Playgroud)
当我尝试保存更改时,我收到以下错误:
来自"ParentChild"AssociationSet的关系处于"已删除"状态.给定多重约束,相应的"Child"也必须处于"已删除"状态.
当然,我不必使用子存储库显式删除子实体!