我正在尝试对2个集合进行LINQ to Object查询
我想输出尚未提供客户订单的每个分支。
var match = from order in customer.Orders
join branch in Branches
on order equals branch.Pending.Orders
select branch;
这不起作用,我得到: join子句中某个表达式的类型不正确。调用'GroupJoin'时类型推断失败。
从我的搜索中,我认为这是因为订单或订单集合没有实现等价。
如果此查询有效,它仍然是错误的,因为如果客户和待定订单完全匹配,它将返回分支。如果任何订单匹配,我想要一个结果。
我正在学习Linq,并寻找解决此类问题的方法,而不是解决方案本身。
我会在SQL中这样做;
SELECT b.branch_name from Customers c, Branches b, Orders o
WHERE c.customer_id = o.customer_id
AND o.branch_id = b.branch_id
AND c.customer_id = 'my customer'
AND o.order_status = 'pending'
答案 0 :(得分:0)
看着你的Linq,你想要这样的东西
var match =
from o in customer.Orders
from b in Branches
where b.Pending.Orders.FirstOrDefault(p => o.order_id == p.order_id) != null
select b;