2011-07-29 18 views
0

次のSQL文をLINQ to Entityに変換する際に問題が発生しています。LINQ to Entities to SQL同義語

SELECT  Name 
FROM  Role 
WHERE  ID NOT IN (SELECT Role_ID FROM UserRoleRelation WHERE User_ID = 11) 

3つのテーブルとその列は

  • ユーザ(ID、Uesrname)
  • ある役割(ID、名前)
  • UserRoleRelation(ID、USER_ID、 ROLE_ID)

私は以下を試しました

from r in db.Roles 
where !db.UserRoleRelations.Any(p => p.User_ID == UserID) 
select r 

お勧めはありますか?

マンゲシュは非常に近いですが、正しい方向に私を指摘しました。
これは機能したコードです。

(from r in db.Roles 
where !(from y in db.UserRoleRelations where y.User_ID == UserID select y.Role_ID).Contains(r.ID) 
select r); 

ありがとうございました。ここで

答えて

1

あなたは正しい方向に私を指しているため

var result = (from r in db.Roles 
       where !(from y in db.UserRoleRelations 
         where y.User_Id == UserID 
         select y.User_ID).Contains(r.role) 
       select r.Name); 
+0

感謝を行きます。あなたが言ったことは少し修正して働いた。 –