webentwicklung-frage-antwort-db.com.de

Was ist der Zweck einer db-Kontextklasse in asp.net mvc?

ich bin neu in mvc und habe ein paar Tutorials gemacht, um den Dreh raus zu bekommen, aber in einigen dieser Tutorials habe ich ein Beispiel mit einer DbContext-Klasse asp.net mvc5 mit EF6 Tutorial gefunden.

Ich habe versucht, Informationen über die DbContext-Klasse zu recherchieren, konnte jedoch keine Informationen erhalten, die mich schlauer gemacht haben! Alles, was ich finden konnte, sind eher die gleichen Tutorials mit wenig Informationen, die ich auch in der Klasse auf Msdn DbContext Class nachgeschlagen habe.

Ich habe vorherige Tutorials ohne eine Db-Kontextklasse durchgeführt und es funktioniert gut. Meine Frage ist, ob ich eine Kontextklasse verwenden muss. Welche Vorteile bietet die Verwendung einer DbContext-Klasse?

Jede Hilfe wäre dankbar dankbar.

17
mstadler

Ich würde zunächst sagen, dass die DbContext-Klasse sich auf Entity Framework (EF) bezieht, aber dann würden die Frage-Tags vorschlagen, dass Sie sich so sehr auskennen. In der Regel wird aus der DbContext-Klasse einfach der Weg abgeleitet, um EF-basierte Datenzugriffe in Ihre Anwendung zu integrieren. Die von DbContext abgeleitete Klasse ist im Wesentlichen die Datenzugriffsebene Ihrer Anwendung.

Anders ausgedrückt: Wenn Sie mit Entity Framework Datenzugriff haben möchten, ist DbContext das, was Sie möchten.

19
Daniel Pratt

Sie können sich DbContext als Datenbankverbindung und eine Reihe von Tabellen sowie DbSet als Darstellung der Tabellen selbst vorstellen. Mit der Variable DbContext können Sie Ihre Modelleigenschaften (vermutlich mithilfe von Entity Framework) mit einer Verbindungszeichenfolge an Ihre Datenbank anschließen. 

Wenn Sie später auf eine Datenbank in Ihrem Controller zugreifen möchten, um Daten zu verarbeiten, verweisen Sie auf die Variable DbContext. Zum Beispiel, 

public class UserSitesContext : DbContext
{
    public UserSitesContext()
        :base("name=UserSitesContext")
    {
    }

    public virtual DbSet<Site> Sites { get; set; }
}

wird später in der Steuerung wie referenziert

private UserSitesContext dbUser = new UserSitesContext();

var queryExample = from u in dbUser.Sites select u;

:base("connection") bezieht sich auf Ihre Verbindungszeichenfolge in Web.config.

16
aiokos

Dies ist die Basisklasse, die für das Verwalten von Datenbankverbindungen verantwortlich ist. Sie bietet alle Arten von DB-Funktionen wie Datenzugriffsmethoden für die Interaktion mit Database. 

dbContext in Entityframework funktioniert wie DAL Data Access Layer, um die Verbindung zu Ihrer Datenbank herzustellen.

0
Muhammad Kamran

DbContext ist eine von Entity Framework bereitgestellte Klasse, um eine Verbindung zur Datenbank herzustellen, die Datenbank abzufragen und die Verbindung zu schließen.

Das Erweitern von DbContext ermöglicht das Definieren des Datenbankmodells mit DbSet (ein bestimmter Satz wird einer Tabelle oder mehr zugeordnet), Erstellen einer Datenbank, Abfragen einer Datenbank ...

0
Nab