关于子导航属性的 Where 子句

Where clause on childs navigation properties

我尝试根据多级子导航属性查询 table 和 "where clause"。

我有:

所以我试试 :

var query = context.TableA.where(a => a.TableB_navProperties.where(b => b.TbableC_navProperties.where(c => c.prop=="testCondition")));

但是这个查询不正确:visual studio 说: "impossible to convert system.collection.generic.IEnumerable< TableC > to bool"

我如何查询 table 有条件的子项导航属性?

谢谢

我找到了解决办法。对于集合的导航属性,使用 Any() 而不是 where () :

var query = context.TableA.where(a => a.TableB_navProperties.Any(b => b.TbableC_navProperties.Any(c => c.prop=="testCondition"))); 

此解决方案有效,但生成的 sql 使用了很多“存在子查询”,所以我认为它不是很有效。