在LINQ中查找包含子项的父记录

时间:2014-10-28 08:07:15

标签: .net linq entity-framework

我有一对多的外键相关表,我想知道如何在实体框架LINQ查询中创建以下SQL Server查询,以仅查找具有子记录的父记录?

SELECT p.ParentId ,p.ParentName
FROM Parent p JOIN Child c on p.ParentId = c.ParentId
GROUP BY p.ParentId, p.ParentName
HAVING COUNT(c.ParentId) > 0

1 个答案:

答案 0 :(得分:3)

内部联接已将结果集限制为父级和子级都存在的行,因此类似下面的内容应该有效:



var parentsWithChildren = (
    from parent in Parent 
	join child in Child on parent.ParentId equals child.ParentId
	select new { parent.ParentId, parent.ParentName } ).Distinct();