Ich verwende alle standardmäßigen ASP.NET-Formularauthentifizierungstabellen für SQL Server (aspnet_Profile, aspnet_Roles, aspnet_Users usw.). Ich habe auch eine Employees-Tabelle zu meiner Datenbank hinzugefügt, die ein FK zu aspnet_Users auf UserId enthält, um eine Eins-zu-eins-Beziehung zu erstellen (UserId ist das PK in Employees). Die Employees-Tabelle enthält Spalten für FirstName, LastName usw. Es ist eine Möglichkeit für mich, zusätzliche Informationen für die Benutzer zu speichern.Erstellen eines Modells und Anzeigen in einem Raster in ASP.NET MVC
Ich möchte eine Raster-Liste meiner Mitarbeiter haben. Es braucht diese Informationen zu enthalten:
- Vornamen und Nachnamen aus der Tabelle Employees
- Username von aspnet_Users
- E-Mail von aspnet_Membership
- Eine durch Kommata getrennte Liste von Rollen der Benutzer befindet, gefunden
Roles.GetRolesForUser(username)
mit
Hier ist, was ich mit meiner Ansicht Seite tun möchte:
<%@ 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>
Hier ist mein Modell:
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; }
}
Und mein Controller:
public ActionResult Index()
{
return View();
}
Mein Problem ist, ich weiß nicht, wie diese Daten mein Modell zu laden und geben sie nicht an meine Sicht auf . Ich bin ein wenig neu bei MVC, und ich habe ein bisschen herumgesucht, ohne Glück, ich denke, ich suche nur nach dem Falschen.
Wie kann ich mein Modell mit den Daten aus diesen verschiedenen Tabellen laden?
EDIT: Ich sollte erwähnen, ich benutze Entity Framework, so kann ich leicht alle Daten aus der Tabelle Employees ziehen.