Linq to sql根据子记录选择记录

时间:2011-10-20 23:39:37

标签: c# linq-to-sql

我正试图让这个声明发挥作用。我试图根据一对多子关系表过滤父记录集。我收到一个错误,我无法将lambda表达式转换为委托类型。如果可能的话,我想继续使用Linq解决方案。

result = db.ParentTable.Where(r => r.ChildTable.Where(c => c.ChildField == value));

2 个答案:

答案 0 :(得分:1)

不确定我是否理解你的目标,但也许就是这样:

db.ParentTable.Where(r => r.ChildTable.Any(c => c.ChildField == value));

答案 1 :(得分:1)

使用查询语法:

result = from parent in db.ParentTable
         from child in parent.ChildTable
         where child.ChildField == value
         select parent;