尽管上述答案是正确的,但请注意,在选择语句后尝试使用它时,必须
AsQueryable()显式调用,否则编译器将假定我们正在尝试使用IEnumerable方法,该方法期望a
Func和not
expression<Func>。
这可能是原始海报的问题,否则编译器将在大多数时间抱怨
expression<Func>而不是
Func。
演示:以下操作将失败:
MyContext.MySet.Where(m => m.SubCollection.Select(s => s.SubItem).Any(expr)) .Load()
尽管以下将起作用:
MyContext.MySet.Where(m => m.SubCollection.Select(s => s.SubItem).AsQueryable().Any(expr)) .Load()



