如何有效地获取所有用户及其相关UserRoles的列表?

时间:2016-02-15 19:58:39

标签: c# asp.net entity-framework linq asp.net-web-api

我正在尝试使用包含用户相关角色列表的用户数据填充视图模型。目前,我的方法如下:

[EnableQuery]
[AcceptVerbs("GET")]
public IEnumerable<UserViewModel> Get()
{
    var clientId = this.GetClientId();
    var users = this.UserManager.Users.Where(x => x.ClientId == clientId).ProjectTo<UserViewModel>().ToList();

    foreach (UserViewModel user in users)
    {
        user.UserRoles = this.UserManager.GetRoles(user.Id);
    }

    return users;
}

有没有更好的方法来执行此操作?我无法创建Linq查询,因为EF不允许我为AspNetUserRoles表创建一个类,并且它不允许我直接编辑AspNetUsers表 - 所以我使用UserManager来获取结果。

0 个答案:

没有答案