Я использую все стандартные таблицы аутентификации форм ASP.NET для SQL Server (aspnet_Profile, aspnet_Roles, aspnet_Users и т. Д.). Я также добавил таблицу Employees в мою базу данных, которая содержит FK для aspnet_Users в UserId для создания отношения «один к одному» (UserId - это ПК в сотрудниках). Таблица Employees содержит столбцы для FirstName, LastName и т. Д. Это способ сохранить дополнительную информацию для пользователей.Создание модели и отображение ее в сетке в ASP.NET MVC
Я хочу, чтобы на экране отобразился список моих сотрудников. Он должен содержать следующую информацию:
- ПгвЬЫата и LastName из таблицы сотрудников
- UserName от aspnet_Users
- Email от aspnet_Membership
- через запятую список ролей пользователя находится, найденный с помощью
Roles.GetRolesForUser(username)
Вот что я хотел бы сделать с моей странице просмотра:
<%@ Page Language="C#"
Inherits="System.Web.Mvc.ViewPage<IEnumerable<WebUI.Models.IndexModel>>" %>
<table>
<tr>
<th></th>
<th>Employee</th>
<th>Username</th>
<th>E-mail Address</th>
<th>Roles</th>
</tr>
<% foreach (var item in Model) { %>
<tr>
<td></td>
<td><%: item.FirstName %> <%: item.LastName %></td>
<td><%: item.Username %></td>
<td><%: item.Email %></td>
<td><%: item.Roles %></td> <!-- i.e., "Admin, Sales Rep" -->
</tr>
<% } %>
</table>
Вот моя модель:
public class IndexModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Username { get; set; }
public string Email { get; set; }
public string[] Roles { get; set; }
}
И мой контроллер:
public ActionResult Index()
{
return View();
}
Моя проблема, я не знаю, как загрузить свою модель с этими данными и передать его на мой взгляд , Я немного новичок в MVC, и я немного поработал с поиском. Мне кажется, я просто искал неправильную вещь.
Итак, как я могу загрузить свою модель с данными из этих разных таблиц?
EDIT: Я должен упомянуть, что я использую Entity Framework, поэтому я могу легко вытащить все данные из таблицы Employees.