0

我有 2 个实体,例如 Parent 和 Child。

我在这里想要实现的是扩展实体 Child 的 Delete 方法,这样我可以在删除时做一些事情,这是我到目前为止所做的:

partial class MyDataClassDataContext
{
    partial void DeleteChild(Child instance)
    {
        //My Custom Code Here
    }
}

代码中有一个事件会删除父级及其所有子级,如下所示:

 void DeleteParent(Parent itemParent)
 {
    var ListChilds = db.Parents.Where(p=>p == itemParent).Select(p=>p.Childs);
    if(ListCilds.Any())
    {
       db.Chields.DeleteAllOnSubmit(ListCilds);
    }
    db.Parents.DeleteOnSubmit(itemParent);
    db.SubmitChanges();
 } 

这段代码总是有效的,但是当我尝试扩展 Child 的 Delete 方法时,它似乎在等待我决定是否删除它们,并且我得到一个异常,即 Parent 不能在它有 Child 的地方被删除。

4

1 回答 1

0

我认为你必须在你的删除子方法中找到所有的父母,并从他们的 Childs 集合中删除这个特定的孩子......这将删除关系,然后你可以删除孩子本身。

于 2015-11-02T11:46:17.753 回答