Как я могу получить список пользователей, включая имя роли для каждого пользователя? В моем приложении есть таблицы по умолчанию для проекта MVC.
Я могу получить всех пользователей, использующих Identity 2.1, вот так:
Модель
public class GetVendorViewModel
{
public IList<ApplicationUser> Vendors { get; set; }
}
Контроллер
public ActionResult Index()
{
var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
var roleStore = new RoleStore<IdentityRole>(ac);
var roleManager = new RoleManager<IdentityRole>(roleStore);
var vendor = roleManager.FindByName("Vendor").Users;
var model = new GetVendorViewModel { Vendors = vendor };
return View("~/Views/User/Administrator/Vendor/Index.cshtml", model);
}
Прямо сейчас возвращается это:
[
{
UserId: "4f9ed316-a852-45a9-93a8-a337a37b1c74",
RoleId: "a17bb59c-285a-43f9-b5ad-65f46f94bb4f"
}
]
Это правильно, но мне нужно отобразить информацию о пользователе, такую как имя, адрес электронной почты, имя пользователя и т. Д.
Я хотел бы вернуть такой объект json:
[
{
UserId: "4f9ed316-a852-45a9-93a8-a337a37b1c74",
RoleId: "a17bb59c-285a-43f9-b5ad-65f46f94bb4f"
RoleName: "Administrator"
User: {
name:"Joe Doe",
email:"[email protected]",
...
}
},
{
...
}
]
RoleName находится в таблице AspNetRoles.
UserId и RoleId - это запрос от AspNetUserRoles.
Какие-нибудь подсказки?