我有2個實體,例如Parent和Child。Linq To Sql,實體的擴展刪除不會再讓它刪除
什麼,我想在這裏實現的是具有實體子擴展,所以我可以做的,當它被刪除一些東西的刪除方法,這是我迄今所做的:
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();
}
該代碼總是工作,但是當我儘量延長孩子的刪除方法,似乎要等我決定是否刪除它們,並且我得到一個父母不能b的異常e刪除它有孩子的地方。
你怎麼通過擴展刪除方法的意思是,你想改變的定義一個自動生成的類 –
我不想改變它的原始定義,我只是想添加一個類似事件的事件,所以當它被刪除時我做了一些事情。 –
我知道它可能與SQL中的觸發器,但它可能與linq-to-sql? –