Entity Framework - Datenbank erster Ansatz
In diesem Kapitel erfahren Sie, wie Sie ein Entitätsdatenmodell mit dem Database First-Ansatz erstellen.
Der Database First Approach bietet eine Alternative zu den Ansätzen Code First und Model First für das Entity Data Model. Es erstellt Modellcodes (Klassen, Eigenschaften, DbContext usw.) aus der Datenbank im Projekt und diese Klassen werden zur Verbindung zwischen der Datenbank und dem Controller.
Der Database First Approach erstellt das Entitätsframework aus einer vorhandenen Datenbank. Wir verwenden alle anderen Funktionen, wie die Modell- / Datenbanksynchronisierung und die Codegenerierung, genauso wie wir sie im Model First-Ansatz verwendet haben.
Nehmen wir ein einfaches Beispiel. Wir haben bereits eine Datenbank, die 3 Tabellen enthält, wie im folgenden Bild gezeigt.
Step 1 - Erstellen wir ein neues Konsolenprojekt mit dem Namen DatabaseFirstDemo.
Step 2 - Um das Modell zu erstellen, klicken Sie zunächst im Solution Explorer mit der rechten Maustaste auf Ihr Konsolenprojekt und wählen Sie Hinzufügen → Neue Elemente…
Step 3 - Wählen Sie im mittleren Bereich ADO.NET-Entitätsdatenmodell aus und geben Sie den Namen DatabaseFirstModel in das Feld Name ein.
Step 4 - Klicken Sie auf die Schaltfläche Hinzufügen, um das Dialogfeld Assistent für Entitätsdatenmodelle zu öffnen.
Step 5 - Wählen Sie EF Designer aus der Datenbank aus und klicken Sie auf Weiter.
Step 6 - Wählen Sie die vorhandene Datenbank aus und klicken Sie auf Weiter.
Step 7 - Wählen Sie Entity Framework 6.x und klicken Sie auf Weiter.
Step 8 - Wählen Sie alle Tabellenansichten und gespeicherten Prozeduren aus, die Sie einschließen möchten, und klicken Sie auf Fertig stellen.
Sie werden sehen, dass Entitätsmodell- und POCO-Klassen aus der Datenbank generiert werden.
Lassen Sie uns nun alle Schüler aus der Datenbank abrufen, indem wir den folgenden Code in die Datei program.cs schreiben.
using System;
using System.Linq;
namespace DatabaseFirstDemo {
class Program {
static void Main(string[] args) {
using (var db = new UniContextEntities()) {
var query = from b in db.Students
orderby b.FirstMidName select b;
Console.WriteLine("All All student in the database:");
foreach (var item in query) {
Console.WriteLine(item.FirstMidName +" "+ item.LastName);
}
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
}
}
}
}
Wenn das obige Programm ausgeführt wird, erhalten Sie die folgende Ausgabe:
All student in the database:
Ali Khan
Arturo finand
Bill Gates
Carson Alexander
Gytis Barzdukas
Laura Norman
Meredith Alonso
Nino Olivetto
Peggy Justice
Yan Li
Press any key to exit...
Wenn das obige Programm ausgeführt wird, sehen Sie alle Namen der Schüler, die zuvor in die Datenbank eingegeben wurden.
Wir empfehlen Ihnen, das obige Beispiel zum besseren Verständnis Schritt für Schritt auszuführen.