2012-01-09 103 views
2

我有用户 - >订单表(一对多),并希望选择所有具有指定订单的用户。我已经尝试过下面的Linq,但它失败并报错。如何编写这样的Linq查询?Linq to SQL加入和Where

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

回答

4

你应该尝试:

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

注意,第二Where更改为Any返回boolean值,并满足第一Where预期表达式树的类型:Where需要的条件,而不是从别处检索到的一组值。