Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Entity Framework Core Grundkurs

Logging des Entity Frameworks

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Was macht das Entity Framework mit einer Datenbank? Diese Frage lässt sich dank der neuen Logger Extensions recht leicht beantworten.
04:24

Transkript

Wenn Sie wissen möchten, welche SQL Statements das Entity Framework generiert, dann können Sie dazu Board Mittel nutzen. Und zwar hat das Entity Framework eine Abhängigkeit auf die Microsoft Logging Extensions, wie wir hier sehen. Und diese Logging Extensions, die beinhalten eine Logger Factory. Diese Logger Factory, auf die können wir uns eine Referenz holen, indem wir in einem Kontext... Also, schreibe ich: using(var db = new FahrtenbuchDb). Wenn wir also in so einem Kontext zunächst auf die ServiceProvider Infrastruktur zugreifen... Das geschieht über die Zeile var serviceProvider = db.GetInfrastructure vom Typ "IServiceProvider". Und über diesen ServiceProvider kann ich mir jetzt den Logger Service holen. Ich rufe also die Methode "GetService" vom Typ "ILoggerFactory" auf. Und zu dieser Factory kann ich nun verschiedene Logger Provider hinzufügen. Und zwei fertige Provider, die es schon gibt, die möchte ich ganz gerne nutzen, nämlich den Provider, der ins Ausgabefenster schreibt, also genau in dieses hier, und den Provider, der auf die Konsole schreibt. Also, muss ich zwei NuGet-Pakete installieren. Zum einen, das Paket Microsoft.Extensions.Logging.Debug Und das installiere ich in der Paket-Manager-Konsole über den Aufruf Install-Package Microsoft.Enxtensions.Logging.Debug Zum anderen werde ich jetzt gleich das Paket Microsoft.Extensions.Logging.Console noch dazu installieren. Sobald ich beide Pakete installiert habe, wird meine Logger Factory, die wir gerade eben hier referenziert haben, zwei neue Erweiterungsmethoden haben, nämlich die Methode "AddConsole" und die Methode "AddDebug". Sobald ich diesen Befehl einmal ausgeführt habe... Und natürlich können Sie auch nur einen der beiden hinzufügen, oder einen eigenen Logger schreiben, der zum Beispiel in eine Datei schreibt oder an ein anderes Programm, an ein Dienst loggt. Sobald ich das aber einmal im Rahmen eines Kontextes erledigt habe, da ich hier ja auf eine geteilte Infrastruktur zurückgreife. Sobald ich das also gemacht habe, ist das Ganze für alle Kontext-Instanzen aktiviert. Bedeutet, wenn ich hier das Beispiel SelectSingleRecord einmal wieder einkommentiere... Und in diesem Beispiel sehen Sie: lade ich den Fahrer mit der Id "11". ...dann werden wir jetzt gleich sehen, dass wir eine Ausgabe des genutzten SQL Statements haben. Dazu drücke ich einmal die Starttaste. Und wir sehen hier, dass folgendes Statement ausgeführt worden ist. SELECT TOP(2) [x].[Id], [x].[Nachname], [x].[Ort], [x].[Plz], [x].[Strasse], [x].[Vorname] FROM [Fahrer] AS [x] WHERE [x].[Id] = 11 TOP(2) übrigens werde ich Single benutzt haben. Und Single überprüft, ob tatsächlich auch nur ein Datensatz zurückgekommen ist. Wäre es mehr als einer, dann würde eine Fehlermeldung zurückkommen. Ein Blick ins Ausgabefenster zeigt, dass wir auch hier das SQL Statement sehen. Bedeutet also, um herauszufinden welches Statement das Entity Framework ausführt, müssen wir lediglich einen Verweis auf den ServiceProvider im Rahmen unseres DbContext erlangen. Anschließend müssen wir uns über den ServiceProvider einen Verweis auf die Factory, und zwar auf die Logger Factory geben lassen. Und für die Logger Factory können wir nun mehrere Provider hinzufügen. In meinem Beispiel hier habe ich Konsole und Debug-Ausgabe als Logger Provider hinzugefügt. Diese beiden Provider, die befanden sich in den Paketen Microsoft.Extensions.Logging.Console und Microsoft.Extensions.Logging.Debug

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!