2017-01-30 25 views
0

ネストされたforeachループをEntity Frameworkクエリとしてマップしようとしていますが、これまでには失敗しています。誰もこれで私を助けることができますか?Entity Frameworkでネストされたクエリを実行する方法

ありがとうございます。

これはマップしたいループです。

var result = db.Users.Where(u => u.Active && u.Roles.Any(r => r.Name.Equals("Management"))).ToList(); 

P.S.:

foreach (var v in db.Users) 
{ 
    if(v.Active == 1) 
    { 
     foreach(Role r in v.Roles) 
      if(r.Name.Equals("Management")) 
       us.Add(v); 
    } 
} 

var sa = (from u in db.Users 
      where u.Roles == from r in db.Roles 
      where r.Name == "Management" select r).ToList(); 

答えて

2

、このいずれかを試してみてくださいあなたの "if(r.Name.Equals(" Management "))の中に続けることを忘れたようです。

+0

は素晴らしいです。ありがとうございます:) –

+0

管理役割を持つユーザーが多いので、そこに続行できません。 –

+0

私は、名前== "管理"(それは可能ですか?:)で2つの役割を持つユーザーがいる場合を意味します)。このような場合、ユーザーは結果コレクションに2回追加されます。 –

関連する問題