Я хочу получить только в роли пользователей в mvc, я пробовал все. Как вы знаете, AspNetUserRoles
- таблица сопоставления (много-ко-многим), поэтому она не генерируется в EDMX (по дизайну, у нее нет первичного ключа). Также мы не можем использовать Таблица ролей (?). Пожалуйста, рассмотрите мою модель.Как получить только пользователя с ролями в mvc 5
Вот моя последняя попытка:
public async Task<ActionResult> Roles()
{
var list = context.Users.Include(u => u.Roles);
var user = new List<ApplicationUser>();
foreach(var u in list)
{
if(u.Roles!= null)
{
user.Add(u);
}
}
return View(user);
}
и вот мое мнение:
@model IEnumerable<Site.Models.ApplicationUser>
@{
Layout = null;
}
<h2>List of users with Roles:</h2>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.UserName)
</th>
<th>
@Html.DisplayNameFor(model => model.Email)
</th>
<th>
@Html.DisplayNameFor(model => model.Roles)
</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.UserName)
</td>
<td>
@Html.DisplayFor(modelItem => item.Email)
</td>
<th>
@Html.DisplayFor(modelItem => item.Roles)
</th>
<td>
@Html.ActionLink("Edit", "Edit", new { id = item.Id }) |
@Html.ActionLink("Details", "Details", new { id = item.Id }) |
@Html.ActionLink("Delete", "Delete", new { id = item.Id })
</td>
</tr>
}
</table>
В чем проблема? Вы не получаете пользователей с какой-либо ролью? – Marius
Я хочу получить только в роли пользователей, но этот код получить всех пользователей. – V47
Что делать, если вы меняете 'if (u.Roles! = Null)' на 'if (u.Roles.Any())'? – Hendry