2014-04-20 83 views
1

這應該非常簡單快捷,我不知道它是否因爲我有一個大腦死亡時刻或者只是錯過了一些明顯的東西,但這裏是問題。MVC 5 Entity Framework 6獲取角色中的所有用戶

我想要做的就是獲取某個角色的用戶列表。例如,我想要「客戶」角色中的所有用戶的用戶標識。我如何實現這一目標?

我試過讓我想檢查的角色的Id,但我似乎無法查詢AspNetUserRoles表。

任何幫助將感激地收到。

PS。忘了提及這是後端站點訪問前端數據庫第一個模型。所以使用ApplicationDbContext()將不起作用。

回答

2

好了,所以這是一個腦死亡的那一刻所有我需要做的是以下幾點:

var customers = db.AspNetUsers 
        .Where(u => u.AspNetRoles.Any(r => r.Name == "Customer") && 
           u.IsActivated == true && u.IsClosed == false && 
           u.IsPaused == false && u.IsSuspended == false) 
        .ToList(); 
3

您可以在上下文通過User DbSet達到AspNetUserRoles表和AspNetRoles表...

using(var context = new ApplicationDbContext()) 
{ 
    var customers = context.Users 
         .Where(u => u.Roles.Any(r => r.Role.Name == "Customer")) 
         .ToList(); 
} 
+0

感謝您的答案安東尼,但我忘了把我的問題,我試圖從另一個數據庫使用數據庫第一個模型獲取這些信息,所以使用ApplicationDbContext()將無法正常工作。 –