2010-04-14 39 views
1

我有2個表(用戶和角色),它們被映射爲關係數據庫中的多對多。當我導入到實體數據內容時,它們仍保持相同的關係。多對多的實體LINQ出現錯誤「LINQ to Entities無法識別該方法」布爾包含...「

由於它們映射爲許多一對多的實體,我可以訪問

Users.RoleCollection 
or 
Roles.UserCollection 

然而,當我執行此LINQ查詢,我得到了「LINQ到實體無法識別方法「布爾包含...方法,並且此方法不能轉換爲商店表達式。「

var result (from a in Users 
      from b in Roles 
      where a.RoleCollection.Contains(b) 
      select a); 

我想我必須做錯了什麼...請幫助。

+1

類似http://stackoverflow.com/questions/374267/contains-workaround-using-linq-to-entities – 2010-04-14 20:15:54

+0

請參閱http://stackoverflow.com/questions/374267/contains-workaround-using-linq-to-entities – 2010-04-14 20:55:57

+0

不,這是'Contains'的一個不同用例(該問題使用'List',而不是部分L2E查詢的@Nix在這裏是正確的。 – 2010-04-15 13:06:53

回答

3

只要使用任何....

 where a.RoleCollection.Any(x=>x.ID==b.ID) 

 where a.RoleCollection.Any(x=>x==b) 
相關問題