我正在尝试使用包含用户相关角色列表的用户数据填充视图模型。目前,我的方法如下:
[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来获取结果。