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