我有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? –