Linq to SQL Join和Where

时间:2012-01-09 07:48:20

标签: c# linq linq-to-sql

我有用户 - >订单表(一对多),并希望选择所有已指定订单的用户。我在下面尝试了Linq,但它失败了,错误。如何编写这样的Linq查询?

DataAccess.Instance.Users.Where(p => p.Orders.Where(o => o.ProductId == productId))

1 个答案:

答案 0 :(得分:4)

你应该尝试:

DataAccess.Instance.Users.Where(p => p.Orders.Any(o => o.ProductId == productId))

请注意,第二个Where更改为Any,它返回一个布尔值,并且满足第一个Where所需的表达式树的类型:Where需要a条件,而不是从其他地方检索的一组值。