我有用户 - >订单表(一对多),并希望选择所有已指定订单的用户。我在下面尝试了Linq,但它失败了,错误。如何编写这样的Linq查询?
DataAccess.Instance.Users.Where(p => p.Orders.Where(o => o.ProductId == productId))
答案 0 :(得分:4)
你应该尝试:
DataAccess.Instance.Users.Where(p => p.Orders.Any(o => o.ProductId == productId))
请注意,第二个Where
更改为Any
,它返回一个布尔值,并且满足第一个Where
所需的表达式树的类型:Where
需要a条件,而不是从其他地方检索的一组值。