2014-10-28 66 views
0

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

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 
+0

请添加样本输入和输出数据。 – 2014-10-28 08:34:53

+0

你能分享你的EF数据模型吗? – 2014-10-28 08:52:40

回答

3

内连接已经限制了你的结果集,以其中两个父母和孩子都存在行时,所以像下面应该工作:

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

+0

@Downvoter:请考虑添加评论。 – 2014-10-28 08:49:14

+0

谢谢,这比我想象的要干净。 – 2014-10-28 17:45:10