Ich habe eine vorhandene Datenbank mit meiner Anwendung Tabellen und ich bin im Begriff, eine neue Version für meine Anwendung mit MVC5 zu erstellen. Ich entschied mich dafür, AspNet Identity Framework als Teil meiner Anwendung zu verwenden.AspNet Identity ApplicationDbContext auf vorhandene Datenbank
die Visual Studio-Vorlage i verwendet, während das Projekt erstellen
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("DefaultConnection", throwIfV1Schema: false)
{
}
}
So kann ich die Tabellen Benutzer, Rollen und andere ASPnet Identität Tabellen den Code Zugriff auf eine Datei „IdentityModel.cs“ und die Klasse hinzugefügt unter Verwendung von wie :
var context = new ApplicationDbContext();
context.Users.ToList();
Da Microsoft "Anwendung DbContext" (und nicht: Identität DbContext zum Beispiel) die Klasse gab den Namen, ich bin frage ich mich, ob diese Klasse als "Accessor" für alle anderen existierenden Tabellen verwendet werden sollte, die nicht mit AspNet Identity verbunden sind oder nicht?
Ohne den so generischen Namen der Klasse "ApplicationDbContext" würde ich einfach mein Entity-Framework-Projekt verwenden, das ich meiner Lösung hinzugefügt habe, um auf die anderen Tabellen meiner Anwendung zuzugreifen, aber ich frage mich, was die "Best Practices" sind. Um den gleichen AspNet Identity ApplicationDbContext-Accessor (und wie?) Zu verwenden oder mit zwei Db-Accessoren zu arbeiten, wurde eine der AspNet Identity-Tabellen und eine für das Entitätsframework für den Rest der Tabellen erstellt (Db First).
es sieht mehr Logik aus, den gleichen dbContext für alle Tabellen, AspNet-Identität und alle anderen Tabellen zu verwenden, die ich in einer separaten EntityFramework edmx-Datei habe. Wie kann ich beide in einem dbContext verwenden?
Verwenden Sie einen einzelnen Kontext. Fügen Sie die Identitätsframework-Tabellen entweder zu Ihrem vorhandenen Kontext hinzu oder fügen Sie Ihre Tabellen dem generierten Kontext hinzu. Es macht keinen Unterschied. Wenn Sie den Namen des Kontexts nicht mögen, benennen Sie ihn um. Die Vorlage erzeugt nur einen Startpunkt, es ist kein Kanon. –
@CraigW. - Danke für Ihren Kommentar, ich benutze Entity Framework edmx Datei für den Test der Anwendungstabellen. Wie kann ich den gleichen db-Kontext der asp.net-Identität verwenden? – Omtechguy