爲了簡單起見,「部分」對象包含以下屬性:LINQ,以確定是否孩子存在
SectionId
ParentSectionId
Name
目前,我有以下LINQ代碼來獲得給定段的孩子段:
List<Section> sections = SectionCache.GetAllSections();
sections.AsQueryable().Where(s => s.ParentSectionId == 10);
這給了我的部分的所有孩子的SectionId 10(再次,爲了簡單),但我需要進一步發展,只包括自己有孩子的部分。在SQL中,我可能會做這樣的事情:
SELECT Section.SectionId,
Section.ParentSectionId,
Section.Name
FROM Section
INNER JOIN Section children ON children.ParentSectionId = Section.SectionId
WHERE Section.ParentSectionId = 10
GROUP BY Section.SectionId,
Section.ParentSectionId,
Section.Name
HAVING COUNT(children.SectionId) > 0
我怎樣才能做到這一點的LINQ /什麼是LINQ實現這一目標的最佳方式是什麼?
謝謝
無需調用AsQueryable。那什麼都不做。 – 2010-06-18 17:37:57