2
我想一个LINQ到2个集的LINQ与内收集
- Customer.Orders
- Branches.Pending.Orders(集合中的集合)
我对象查询加盟希望输出每个尚未交付客户订单的分行。
var match = from order in customer.Orders
join branch in Branches
on order equals branch.Pending.Orders
select branch;
这是不行的,我得到: 联接子句中的类型的表达式之一的不正确。在“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'
解决方案1更接近我想要的东西。但我得到 “名称'b'在当前上下文中不存在'\t 在b.Pending.Orders中的连接p”位置 – bronze 2010-03-23 06:51:13
对不起,没有编译器便利的工作 - 试试这个编辑而不是 – pdr 2010-03-23 07:01:19
谢谢,那似乎工作。将更新我的测试用例以确保。 – bronze 2010-03-23 07:20:24