我正在使用ASP.NET MVC 4的会员提供程序。
我想获取用户和他们的角色列表,但不想对每个用户使用Roles.GetRolesForUser()
。
在我的应用程序中,业务需求规定一个用户只能被分配一个角色。
目前的做法:
[GridAction]
public ActionResult _GetUsers()
{
var users = Membership.GetAllUsers().Cast<MembershipUser>().Select(n => new AdminAccountEditModel
{
Role = Roles.GetRolesForUser(n.UserName).FirstOrDefault(),
IsApproved = n.IsApproved,
Email = n.Email,
UserName = n.UserName
}).ToList();
return View(new GridModel(users));
}
非常低效。我该怎么修复它?
谢谢。