Ich bin neu in asp.net mvc und Entity-Framework-Code zuerst anpassen, ich bin nicht so scharf auf Datenbanken. Ich entschuldige mich im Voraus für falsche Terminologie oder die Art, wie ich Dinge verstehe.Wie kann ich zu einer Lookup-Tabelle mit Entity Framework Code zuerst mit Fluent API
Nun zu der Frage. Ich habe folgende Modelle:
Benutzermodell
public class User
{
public int UserId { get; set; }
public string Username { get; set; }
public string Password { get; set; }
public int RoleId { get; set; }
[ForeignKey("RoleId")]
public virtual IEnumerable<Role> Roles { get; set; }
}
Role Model
public class Role
{
public int RoleId { get; set; }
public string RoleName { get; set; }
}
Was ich schließlich will, ist ein Weg Ef codefirst Ansatz mit dem fließend API zu verwenden, um den Benutzer-ID zur Karte und RoleId in einer User_Role-Tabelle mit einer Eins-zu-viele-Beziehung kann ein Benutzer mehrere Rollen haben:
Ich nehme an, dass das, was in this question getan wird, der richtige Ansatz ist, außer dass dort der Autor eine Viele-zu-Viele-Verbindung verwendet. Ich habe es so versucht, aber der Teil mit u => u.users gibt mir einen Fehler (ich nehme an, das ist, weil es keine Benutzereigenschaft im Modell gibt, also beantwortete er seine Frage, aber aktualisierte seine Frage nicht?)
Meine Frage: Was ist der genaue flüssige api-Code, um Ef diese Tabelle für mich erzeugen zu lassen?
Dinge, die ich bin nicht sicher: (Fühlen Sie sich frei zu ignorieren)
- Ist das der richtige Ansatz für mein Problem?
- Sobald ich die Nachschlagetabelle habe, ist dies immer noch der richtige Weg, um meine Navigationseigenschaft zu deklarieren, so dass ich sie später wie user.Roles verwenden und ihre Rollen abrufen kann?
- wo wird die RoleId im User-Modell von, Roles-Tabelle oder User_Role?
- Hat eine ID in der Lookup-Tabelle irgendeine Verwendung?
Vielen Dank im Voraus! Ich schätze Ihre Expertise sehr.
Dank viel für das Clearing Dinge ! Es funktioniert jetzt richtig. – edgarpetrauskas
Große Antwort! Eine Sache, die nicht mit dem OP übereinstimmt, ist, dass es in UserRoles kein ID-Feld gibt (siehe User_Role im Beziehungsdiagramm des OP). –