Entity Framework Core Grundkurs

DBContext und DBSet

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
DBContext und DBSet stellen zwei wichtige Klassen im Entity Framework dar. Dabei abstrahiert die DBContext-Klasse die Datenbank in einer Anwendung und beinhaltet mehrere DBSets, welche sämtliche Tabellen präsentieren.
03:10

Transkript

Wenn Sie mit dem Entity Framework Core arbeiten, dann gibt es zwei Klassen, die besonders wichtig sind und über die Sie sehr häufig stolpern werden. Das eine ist der sogenannte DbContext. Wenn Sie das Entity Framework in Ihrem Projekt nutzen, da benötigen Sie eine Klasse, die von DbContext ableitet. In meinem Fall ist es die Klasse "PersonDb". Die Aufgabe dieses Kontextes ist es die Schnittstelle zur Datenbank zu liefern. Bedeutet also, alle Operationen werden später über diesen Kontext laufen, sowohl das Laden, als auch das Speichern von Daten. Innerhalb des Kontextes sehen wir nun Eigenschaften vom Typ DbSet. Hier habe ich zum Beispiel ein DbSet, der typisiert ist mit der Klasse "Person" und der heißt "Personen". Diese DbSets, die liefern dann später tatsächlich den Einsprung in eine konkrete Tabelle. Heißt also, über diesen DbSet "Personen" kann ich dann also Daten aus der Personen-Tabelle lesen und könnte auch neue Elemente hinzufügen oder löschen. Eine weitere wichtige Methode am DbContext ist die Methode OnConfiguring. In der Methode OnConfiguring gebe ich an, welche Datenbank ich benutze, und wie der Connection String ist. Das Entity Framework Core funktioniert hier ein bisschen anders, als frühere Versionen. Die früheren Versionen hatten ein wenig mehr Magie mit dahinter. Was bedeutete das? Das bedeutet: früher hatte ich zum Beispiel einen Konstruktor, und in diesem Konstruktor habe ich einfach den Basis-Konstruktor aufgerufen und habe dort den Namen eines Connection Strings angegeben. Und alleine das hat schon gereicht, damit erfasst wurde, welche Verbindungszeichen-Folge genutzt wird, und damit auch erfasst wurde, welchen Datenbank-Typen wir benutzen. Beim Entity Framework Core ist es ein wenig anders. Ich muss hier ganz explizit sagen, dass ich gerne den SQL Server benutzten möchte, und auch die Verbindungszeichen-Folge, die muss ich selbst übergeben. Natürlich würde ich das in einer echten Anwendung jetzt nicht so machen, wie hier, wo ich tatsächlich direkt den kompletten String übergebe, sondern ich würde über den Configuration Manager aus meiner App.config den Connection String hier rauslesen, den ich hier zuvor konfiguriert habe. Eine weitere wichtige Sache, die es zu bringen gibt, wenn Sie sich den DbContext anschauen, ist dass Sie den DbContext möglichst kurzlebig halten sollen. Was bedeutet das? Was Sie in einem Programm nicht machen sollten, ist den Kontext zu Beginn des Programms zu öffnen und am Ende wieder zu schließen. Stattdessen sollten Sie für jede Aktion, für jede Geschäftstransaktion, die Sie in Ihrer Anwendung ausführen, den Kontext separat öffnen und schließen. Wir sehen das Ganze hier. Ich habe hier den Kontext zum Beispiel einmal geöffnet für den Anwendungsfall: ich möchte einen neuen Datensatz anlegen. Und hier unten, da habe ich den Kontext erneut geöffnet. Dieses mal für den Anwendungsfall: ich möchte gerne Daten lesen. Zusammenfassend können wir aber sagen: wenn Sie mit dem Entity Framework arbeiten, dann sollten Sie sich auf jeden Fall mit den Klassen DbContext und DbSet auseinandersetzten.

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!