Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 55374|Odpowiedź: 2

[Źródło] EF Core Series 4 analizuje generowane instrukcje SQL

[Skopiuj link]
Opublikowano 19.02.2021 13:36:34 | | | |
EF Core Series 2 kapsuluje OnModelCreating, tworzy indeksy za pomocą odbić i inne elementy
https://www.itsvse.com/thread-9392-1-1.html

Atrybuty cieni ramek ramek EF Core Series (3) [wznowienie]
https://www.itsvse.com/thread-9558-1-1.html


W procesie rozwoju, korzystając z frameworka EF Core, przy użyciu wyrażeń linq lub lambda, nie możemy bezpośrednio przeglądać instrukcji sql, co jest dla nas niewygodne przy diagnozowaniu problemów czy optymalizacji wydajności.
ef wyświetla wygenerowane instrukcje SQL
https://www.itsvse.com/thread-3813-1-1.html

W tym artykule jako przykładzie używa EF Core 5aby zobaczyć instrukcje SQL generowane przez wyjście EF.


Najpierw stwórz nową zmienną fabryczną consolelogger w pliku startowym z zmienną "ConsoleLoggerFactory", a wygenerowane polecenie sql zostanie wydrukowane do konsoli, a kod wygląda następująco:

Dodaj wynik logu do metody ConfigureServices, konfigurując kod DbContext w następujący sposób:

Rozpocznij projekt i zobacz wyjście z konsoli w następujący sposób:

info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Wykonano DbCommand (1ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
      WYBIERZ [a]. [Id], [a]. [Niepełnosprawny], [a]. [Link], [a]. [Imię], [a]. [PinYin], [a]. [Pozycja], [a]. [_CreateTime], [a]. [_CreateTimeStamp], [a]. [_UpdateTime], [a]. [_UpdateTimeStamp]
      Z [Obszar] AS [a]
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Wykonano polecenie DbCommand (19ms) [Parametry=[p0='?' (Rozmiar = 4000)], CommandType='Text', CommandTimeout='30']
      WYBIERZ * Z Obszaru, GDZIE pinYin = @p0
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Wykonano DbCommand (1ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
      WYBIERZ * Z Obszaru


Jeśli instrukcja SQL z warunkem gdzie może wyświetlać tylko parametryzowane zmienne, a nie przekazywane wartości konkretne, dodaje się następującą konfigurację:

Umożliwić uwzględnienie danych aplikacji w komunikatach wyjątków, logach i innych miejscach.

Może to obejmować wartości przypisane do właściwości instancji encji,

wartości parametrów poleceń wysyłanych do bazy danych oraz innych takich danych.

Flaga ta powinna być aktywowana tylko wtedy, gdy istnieją środki bezpieczeństwa

Na podstawie wrażliwości tych danych.

Zwróć uwagę, czy wniosek jest w trakcie

Zadzwoń do generatora Microsoft.EntityFrameworkCore.DbContextOptions.UseInternalServiceProvider(system. IServiceProvider),

Ta opcja musi być następnie skonfigurowana w ten sam sposób dla wszystkich zastosowań tego dostawcy.

Rozważ niedzwonienie do Microsoft.EntityFrameworkCore.DbContextOptionsGenerator.UseInternalServiceProvider(system. IServiceProvider)

EF zarządza więc dostawcą usług i może tworzyć nowe instancje w razie potrzeby


Pełny zestaw jest następujący:

Przedstawienia przedstawiają się następująco:



Oczywiście powyższe ustawienia można również skonfigurować przez nadpisanie metody OnConfiguring w DbContext (niezalecane):

(Koniec)




Poprzedni:Financial TipRanks Oceny Analizy Akcji
Następny:Seria EF Core (5) wykonuje instrukcje lub widoki SQL, procedury przechowywane
 Ziemianin| Opublikowano 26.09.2021 09:21:07 |
ef wyświetla wygenerowane instrukcje SQL
https://www.itsvse.com/thread-3813-1-1.html
Opublikowano 26.10.2021 09:46:19 |
Ucz się, zobacz, jaki jest limit czasu
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com