2012-08-09 145 views
0

我有列表A查找列表B,允許多個條目。一個A與多個相關B s - 標準做法。我想查找A其中B包含對'b'的特定實例的引用。Linq匹配查找列中的項目與多個條目

我已經試過:

var As = from a in ARecs where a.Bs.Contains(b) select a; 

但我得到的通常的 '多表參與' 的錯誤。我該如何解決這個問題?

在此先感謝

我得到的錯誤是「查詢使用不支持的元素,如一個以上的列表,或一個完整的實體使用的EntityRef/EntitySet的投影引用。」

A和B清單代碼由SPMetal產生,如果有什麼差別

+3

您能更具體地瞭解您遇到的錯誤嗎? – goric 2012-08-09 14:29:57

+0

您的Linq查詢是有效的(如果它周圍的情況正確,它應該可以工作)。我們需要更多關於錯誤的信息,以及有關您的代碼的更多詳細信息來解決您的問題。 – jsmith 2012-08-09 15:38:04

+0

我得到的錯誤是查詢使用不受支持的元素,例如對多個列表的引用,或者使用EntityRef/EntitySet對完整實體的投影。 – user1587804 2012-08-09 17:58:29

回答

0

一些LINQ不能變成CAML(我忘記提到這一點是在SPMetal生成的LINQ到SharePoint - 衛生署!)和需求以2個查詢執行 - 第一個ToList,然後是該列表中的第二個。這對我有效。

Var Bs = A.ToList().Where(record => record.Bs.Contains(b)) 
相關問題