有沒有什麼辦法可以在Linq中檢查父項記錄是否存在於其子項中?在Linq中,檢查孩子的關係?
我有一個表與其他12個表有外鍵關係。我想要做的就是查看這些子表中的任何記錄是否取決於父級,因此我可以刪除它而不會導致FK約束出錯。
謝謝你們。
我最終就是這個檢查了每一個擴展類...費時,但得到了這份工作做了......我還是想意見如果可能的話
有沒有什麼辦法可以在Linq中檢查父項記錄是否存在於其子項中?在Linq中,檢查孩子的關係?
我有一個表與其他12個表有外鍵關係。我想要做的就是查看這些子表中的任何記錄是否取決於父級,因此我可以刪除它而不會導致FK約束出錯。
謝謝你們。
我最終就是這個檢查了每一個擴展類...費時,但得到了這份工作做了......我還是想意見如果可能的話
你可以蠻力,幷包裹刪除在嘗試趕上。只要所有刪除都是同一個上下文的一部分,如果一個孩子因FK關係而無法刪除,它將回滾該塊中的所有刪除。
這可能是有點cludgy,你會通過你的子表和工會它們都有循環,但這裏是一個開始......
ParentChildrenDataContext context = new ParentChildrenDataContext();
var child1Ids = from c in context.ChildType1s
select c.ParentId;
var child2Ids = from c in context.ChildType2s
select c.ParentId;
var allChildren = child1Ids.Union(child2Ids);
var myParents = from p in context.Parents
where allChildren.Contains<int?>(p.ParentId)
select p;
return myParents.Count();