2014-03-05 34 views
2

我想查詢aspnet成員資格表並獲取可以在角色列表中的特定應用程序中的所有用戶的電子郵件列表。我正在通過角色列表。如果我拿出& & r.RoleId行,其餘的查詢工作,但我想弄清楚如何查詢角色ID的Guid列表。linq query guid列表

from m in Aspnet_Memberships 
    join u in Aspnet_Users on m.UserId equals u.UserId 
    join ur in Aspnet_UsersInRoles on u.UserId equals ur.UserId 
    join r in Aspnet_Roles on ur.RoleId equals r.RoleId 
    join a in Applications on r.WebApplicationID equals a.ApplicationId 
    where a.ApplicationId == new Guid("55555555-4444-3333-2222-111111111111") 
    && r.RoleId in rolesList //rolesList is a List<Guid> 
    select new { 
     m.Email, 
     u.UserName, 
     a.ApplicationName, 
     r.RoleName 
    } 

回答

1

你需要Contains

rolesList.Contains(r.RoleId) 
+0

當我從linqpad切換到視覺工作室,我不能加入aspnet_usersInRoles因爲它不顯示爲一個實體,只是一個協會,你知道如何解決這個問題? – user1202606