Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

Entity Framework Core Grundkurs

Das Entity Framework Core in der praktischen Anwendung

Testen Sie unsere 2021 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Das Entity Framework kann zu einer enormen Produktivitätssteigerung in der .NET-Softwareentwicklung führen. In diesem Film sehen Sie, wie einfach Sie Daten mit dem Framework laden und speichern können.
10:56

Transkript

Uns als Anwendungsentwickler kann das Entity Framework eine ganze Menge Arbeit beim Zugriff auf eine Datenbank abnehmen. Wie viel Arbeit das ist und wie Sie das Entity Framework schnell in Ihrer Anwendung nutzen können, das werde ich Ihnen in diesem Video zeigen. Dazu lege ich ein neues Projekt an. Ich wähle eine Konsolenanwendung und stelle dabei sicher, dass die genutzte .NET Framework Version größer als 4.5.1 ist. Ich gebe meinem Projekt noch einen Namen. In meinem Fall ist es EntityFrameworkInAktion und klicke Ok, um das Projekt zu erzeugen. Das Erste, was ich nun erledigen muss, ist: ich muss das Entity Framework hinzufügen. Dazu gehe ich am einfachsten über den NuGet-Paket-Manager vor. Öffne dazu die NuGet-Paket-Manager-Konsole, indem ich hier oben im Suchfenster NuGet eintippe und dann die Konsole auswähle. Anschließend kann ich hier den Befehl Install-Package eintippen. Und das Paket, das ich installieren möchte, das heißt Microsoft.EntityFrameworkCore und dann .SqlServer, da ich in diesem Beispiel hier auf eine SqlServer-Datenbank zugreifen möchte. Das Paket wird nun inklusive seine Abhängigkeiten installiert. Das Ganze dauert einen kurzen Augenblick, dass einige Abhängigkeiten sind, die mitinstalliert werden. Das sehen wir auch gleich, wenn wir hier rechts uns die Verweisung mal genauer anschauen, nachdem das Entity Framework vollständig installiert worden ist. Wir sehen, dass die Kernbibliothek, EntityFrameworkCore installiert worden ist. Darüber hinaus EntityFrameworkCore.Relational und EntityFrameworkCore.SqlServer. Daneben wurden noch einige Erweiterungen installiert, die das Entity Framework für die korrekte Funktion benötigt. Neben der Laufzeitbibliotheken benötige ich außerdem noch einige Werkzeuge, um später die Datenbank erzeugen zu können. Diese installiere ich auch über Install-Package. Und dann lautet das Paket dieses mal Microsoft.EntityFrameworkCore.Tools Wenn ich den Befehl nun ausführe, dann sehen Sie, dass ich eine Fehlermeldung erhalte. Das liegt daran, dass sich die Tools zum Zeitpunkt der Aufnahme noch in der Preview Phase befinden und deswegen muss ich hier -Pre an den Befehl ranhängen, damit ich auch die Preview Version bekomme. Wenn Sie das Ganze in Ihrem Projekt ausprobieren, da würde ich Ihnen empfehlen erstmal das -Pre nicht zu nutzen, um zu schauen, ob es schon eine fertige Version gibt, die offiziell releast worden ist. So, die Tools sind nun auch installiert. Jetzt kann ich loslegen. Was ich in diesem Beispiel machen möchte, ist: ich möchte gerne Personen in einer Datenbank speichern. Dazu lege ich mir als allererstes eine Klasse Person an. Und diese Klasse Person, die erhält von mir drei Properties. Zum einen, wird die erst einmal Public sein. Zum anderen, erhält die eine Property Id. Und Sie haben hier gesehen, ich habe das Prop snippet genutzt, indem ich einfach nur Prop tippe und dann kann ich mich über Tab hier zwischen den markierten Feldern bewegen und über Enter komme ich dann ans Ende der Zeile. Die Id soll mein Primärschlüssel sein. Außerdem hätte ich ganz gerne einen Vornamen... das ist dann vom Typ String ...und einen Nachnamen. So, das Ganze ist dann die Klasse, die später in der Datenbank abgelegt werden soll. Und um überhaupt mit dem Entity Framework auf die Datenbank zu kommen, muss ich eine Klasse vom Typ DbContext anlegen. Also, Hinzufügen - Neue Klasse. Diese Klasse nenne ich "PersonDb". Und... die muss von DbContext erben. Visual Studio kennt DbContext hier in dem Moment nicht, darum wird es unterkringelt. Also, drücke ich Strg + Punkt, um das Context-Menü zu öffnen, und kann nun Enter drücken, um ein Using auf den Namensraum Microsoft.EntityFrameworkCore hinzuzufügen Innerhalb meines DbContextes benötige ich nun für jede Entität, die ich in der Datenbank persistieren möchte, eine Property vom Typ DbSet, und zwar ist es eine generische Property. Und ich typisiere die mit Person und nenne diese Property "Personen". Zu guter Letzt müssen wir dem Entity Framework noch mitteilen, wie wir uns mit der Datenbank verbinden. Und dazu muss ich die Methode OnConfiguring überschreiben. Und hier auf dem übergebenen options.Builder-Objekt rufe ich die Methode UseSqlServer auf. An die Methode UseSqlServer übergebe ich jetzt den Connection String. Und in einer echten Anwendung würde ich den natürlich aus einer Konfigurationsdatei laden. Jetzt hier für das schnelle Beispiel, um Ihnen zu erklären, was das Entity Framework alles so kann, reicht es aus, wenn ich den direkt tippe. Wie Sie sehen, verbinde ich mich zu SqlServer localdb und meiner Datenbank, die nenne ich "PersonDb". Außerdem gebe ich an, dass ich mich mit meinen aktuellen Windows Anmeldeinformationen an der Datenbank anmelden möchte. Das geht dann über Trusted_Connection. Ist gleich "True". Und schließe diese Zeile natürlich mit einem Semikolon ab. So, jetzt kompiliere ich über Strg + Shift + B die Lösung einmal. Das Ganze kompiliert erfolgreich. Und nun kommt der Teil, an dem ich heute mit Entity Framework die Datenbank anlegen möchte. Denn aktuell habe ich noch keine. Ich zeige Ihnen das kurz. Im Server-Explorer versuche ich mal eine neue Datenverbindung hinzuzufügen. Datenbank, Name ist "localdb". In Ihrem Fall können Sie natürlich Ihre Datenbank nehmen. Ob das jetzt eine SqlExpress oder eine volle SqlServer Datenbank ist, oder eben wie Localdb, ist eigentlich egal. Ich gebe aber hier mal einen Servernamen ein. Und wenn ich jetzt die Dropdown aufklappe, dann sehen Sie: hier gibt es noch keine "PersonenDb". Und die möchte ich jetzt anlegen. Das Anlegen erfolgt über sogenannte Migrationen. Auch die können wir über die Paket-Manager-Konsole ausführen. Dazu gebe ich ein: Add-Migration. Die bekommt jetzt einen Namen "DbErstellt" zum Beispiel. Und was jetzt im Hintergrund geschieht, ist: es wird Code erzeugt. Code, den wir hier in dieser Datei sehen. Der beschreibt, wie unsere Datenbank anzulegen ist. Und das Anlegen der Datenbank, das geschieht dann auch wieder in der Paket-Manager-Konsole über den Befehl Update-Database. So, und das Ganze dauert einen kurzen Augenblick. So, und jetzt wurde der Vorgang erfolgreich beendet. Wir können das verifizieren, indem ich im Server-Explorer meine Datenverbindung versuche zu erstellen. Und das war die (localdb)\mssqllocaldb und jetzt sehe ich hier auch meine "PersonDb". Allerdings sehen wir auch: in der "PersonDb" gibt es schon die Tabelle "Personen". Aber die ist natürlich, wenn ich mir die Daten anzeigen lasse, aktuell leer. Ist ja auch kein Wunder, wir haben ja auch noch nichts mit dem Entity Framework angelegt. Also, gehe ich in die Program.cs, dort in die Methode Main, also die Methode, die zuerst ausgeführt wird. Und hier erzeuge ich mir einen sogenannten Context. Ich sage also using(var db = new PersonDb()) Und dieser Context ist nämlich der Einsprungspunkt in die Datenbank hinein. Der hat eine Eigenschaft "Personen". Und dieser Eigenschaft füge ich jetzt eine neue Person hinzu. Ich sage also hier mal var andre = new Person() und der Vorname der Person ist "Andre" und der Nachname ist "Krämer". Diese Person, die werde ich jetzt wie gesagt, dem "PersonenDb"-Set hinzufügen. Dazu nutze ich die Methode "Add". Und jetzt ist die noch nicht gespeichert. Das Speichern geschieht erst, wenn ich db.SaveChanges() aufrufe. Und dass das Ganze auch wirklich in der Datenbank gespeichert wird, das können wir darüber verifizieren, dass ich jetzt hier einen neuen Context öffne. Der alte, der war ja nur innerhalb dieses Using-Blocks hier gültig. Und in diesem neuen Context iteriere ich jetzt über alle Personen, die ich finde. Das geht relativ einfach, indem ich mit "foreach", und zwar foreach (var person) in db.Personen über alle Personen iteriere. Und nun über ein einfaches Console.WriteLine die Personen Details ausgebe. Ich nutze, wie Sie hier sehen können, diese neue String Interpolation. Es ist eine Alternative zu String.Format, mit der ich sehr elegant Strings zusammenbinden kann. So, und jetzt wird noch der Nachname... Und am Ende fehlt noch ein Console.ReadLine(), damit sich die Anwendung nicht sofort beendet. So, ich starte meine Anwendung. Und wie Sie sehen können, wurde eine Person mit der Id 1 und dem Vornamen Andre und dem Nachnamen Krämer in der Datenbank gefunden. Das Ganze können wir auch noch einmal derevizieren, indem ich hier in die Daten-Ansicht gehe und einmal das Ganze aktualisiere. Und hier sehen wir den Eintrag in unserer Datenbank. Wie wir in diesem Video also gesehen haben, nimmt das Entity Framework uns wirklich eine ganze Menge Arbeit ab. Wir mussten weder die Datenbank selber anlegen, noch mussten wir die Tabelle "Person" selbst anlegen. Und auch zum Einfügen des Datensatzes mussten wir kein eigenes Insert Statement schreiben, sondern es hat gereicht einfach meinen Datensatz, den Db-Set hinzuzufügen und "SaveChanges" aufzurufen. Zum Lesen mussten wir auch kein eigenes SQL Statement schreiben, sondern ein einfaches Iterieren über alle Elemente des Db-Sets, führte dazu, dass das Entity Framework für uns ein SQL Statement generiert hatte. Und alles, was dazu notwendig war, war, dass wir einen DbContext erzeugt haben und dass wir über die Paket-Manager-Konsole die Pakete Microsoft.EntityFrameworkCore.SqlServer und Tools installiert haben.

Entity Framework Core Grundkurs

Lernen Sie die Features von Microsofts O/R-Mapper kennen und wie Sie ihn in praktischen Anwendungen einsetzen.

2 Std. 29 min (29 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!