Dieser Artikel ist ein Spiegelartikel der maschinellen Übersetzung, bitte klicken Sie hier, um zum Originalartikel zu springen.

Ansehen: 55374|Antwort: 2

[Quelle] EF Core Series 4 betrachtet die generierten SQL-Anweisungen

[Link kopieren]
Veröffentlicht am 19.02.2021 13:36:34 | | | |
EF Core Series 2 kapselt OnModelCreating, erstellt Indizes mit Reflexionen und mehr
https://www.itsvse.com/thread-9392-1-1.html

EF Core Series (3) Entity Frame Schattenattribute [Nachdruck]
https://www.itsvse.com/thread-9558-1-1.html


In der Entwicklung können wir beim Einsatz des EF-Core-Frameworks sowie bei der Verwendung von linq- oder lambda-Ausdrücken die SQL-Anweisungen nicht direkt ansehen, was für uns unpraktisch ist, um Fehler zu beheben oder die Performance zu optimieren.
ef zeigt die generierten SQL-Anweisungen an
https://www.itsvse.com/thread-3813-1-1.html

Dieser Artikel verwendet EF Core 5 als Beispielum die SQL-Anweisungen, die durch die Ausgabe EF generiert werden, anzuzeigen.


Zuerst erstelle eine neue ConsoleLogger Factory-Variable in der Startdatei mit der Variable "ConsoleLoggerFactory", und die generierte SQL-Anweisung wird an die Konsole ausgegeben; der Code ist wie folgt:

Fügen Sie die Logausgabe der ConfigureServices-Methode hinzu, indem Sie den DbContext-Code wie folgt konfigurieren:

Starte das Projekt und sieh die Konsolenausgabe wie folgt:

info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Ausgeführt DbCommand (1ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
      SELECT [a]. [Id], [a]. [Deaktiviert], [a]. [Link], [a]. [Name], [a]. [PinYin], [a]. [Position], [a]. [_CreateTime], [a]. [_CreateTimeStamp], [a]. [_UpdateTime], [a]. [_UpdateTimeStamp]
      VON [Gebiet] AS [a]
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Ausgeführt DbCommand (19ms) [Parameter=[p0='?' (Größe = 4000)], CommandType='Text', CommandTimeout='30']
      AUSWÄHLEN * AUS Bereich WO pinYin = @p0
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Ausgeführt DbCommand (1ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
      AUSWÄHLEN * AUS Gebiet


Wenn die SQL-Anweisung mit der where-Bedingung nur die parametrisierten Variablen anzeigen kann, nicht die spezifischen übermittelten Werte, wird folgende Konfiguration hinzugefügt:

Ermöglichen Sie die Einbindung von Anwendungsdaten in Ausnahmemeldungen, Protokolle und mehr.

Dies kann Werte umfassen, die den Eigenschaften der Entitätsinstanzen zugewiesen werden,

Parameterwerte der an die Datenbank gesendeten Befehle und andere solche Daten.

Diese Flagge sollte nur aktiviert werden, wenn Sicherheitsmaßnahmen vorhanden sind

Basierend auf der Sensibilität dieser Daten.

Beachten Sie, ob der Antrag durchgeht.

Ruf den Microsoft.EntityFrameworkCore.DbContextOptions generator.UseInternalServiceProvider(system. IServiceProvider),

Diese Option muss dann für alle Nutzung dieses Dienstleisters auf die gleiche Weise konfiguriert werden.

Überlegen Sie, Microsoft.EntityFrameworkCore.DbContextOptionsGenerator.UseInternalServiceProvider(system. IServiceProvider)

EF verwaltet daher den Dienstanbieter und kann bei Bedarf neue Instanzen erstellen


Das vollständige Setup ist wie folgt:

Die Darstellungen sind wie folgt:



Natürlich können die oben genannten Einstellungen auch durch das Überschreiben der OnConfiging-Methode des DbContext konfiguriert werden (nicht empfohlen):

(Ende)




Vorhergehend:Financial TipRanks Aktienanalysebewertungen
Nächster:EF Core Series (5) führt SQL-Anweisungen oder -views sowie gespeicherte Prozeduren aus
 Vermieter| Veröffentlicht am 26.09.2021 09:21:07 |
ef zeigt die generierten SQL-Anweisungen an
https://www.itsvse.com/thread-3813-1-1.html
Veröffentlicht am 26.10.2021 09:46:19 |
Lernen Sie, sehen Sie, wie die Zeitbegrenzung ist
Verzichtserklärung:
Alle von Code Farmer Network veröffentlichten Software, Programmiermaterialien oder Artikel dienen ausschließlich Lern- und Forschungszwecken; Die oben genannten Inhalte dürfen nicht für kommerzielle oder illegale Zwecke verwendet werden, andernfalls tragen die Nutzer alle Konsequenzen. Die Informationen auf dieser Seite stammen aus dem Internet, und Urheberrechtsstreitigkeiten haben nichts mit dieser Seite zu tun. Sie müssen die oben genannten Inhalte innerhalb von 24 Stunden nach dem Download vollständig von Ihrem Computer löschen. Wenn Ihnen das Programm gefällt, unterstützen Sie bitte echte Software, kaufen Sie die Registrierung und erhalten Sie bessere echte Dienstleistungen. Falls es eine Verletzung gibt, kontaktieren Sie uns bitte per E-Mail.

Mail To:help@itsvse.com