2012-08-09 83 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)) 
相关问题