我有2个表(用户和角色),它们在关系数据库中被映射为多对多。当我导入到实体数据内容时,它们仍然保持相同的关系。
由于它们在实体中被映射为多对多,我可以访问
Users.RoleCollection
or
Roles.UserCollection
然而,当我执行这个LINQ查询时,我得到“LINQ to Entities无法识别方法'Boolean Contains ...方法,并且此方法无法转换为商店表达式。”
var result (from a in Users
from b in Roles
where a.RoleCollection.Contains(b)
select a);
我想我必须做错事......请帮忙。
答案 0 :(得分:3)
只需使用任何......
where a.RoleCollection.Any(x=>x.ID==b.ID)
或
where a.RoleCollection.Any(x=>x==b)