Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 55374|Válasz: 2

[Forrás] Az EF Core Series 4 a generált SQL utasításokat vizsgálja

[Linket másol]
Közzétéve 2021. 02. 19. 13:36:34 | | | |
Az EF Core Series 2 beépíti az OnModelCreating-et, indexeket hoz létre tükröződések segítségével, és még sok más
https://www.itsvse.com/thread-9392-1-1.html

EF Core Series (3) Entity Frame árnyék attribútumok [Újranyomás]
https://www.itsvse.com/thread-9558-1-1.html


Fejlesztés során, az ef core keretrendszert, linq vagy lambda kifejezéseket használva nem tudjuk közvetlenül megtekinteni a SQL utasításokat, ami kényelmetlen számunkra a hibakeresés vagy teljesítmény optimalizálása szempontjából.
ef megjeleníti a generált SQL utasításokat
https://www.itsvse.com/thread-3813-1-1.html

Ez a cikk példaként az EF Core 5-öt használjahogy megtekintsék az EF output által generált SQL utasításokat.


Először hozz létre egy új consolelogger gyári változót az indító fájlban a "ConsoleLoggerFactory" változóval, és a generált sql utasítás a konzolnak fog kiadni, a kód a következő:

A napló kimenetet hozzáadjuk a ConfigureServices metódushoz a DbContext kód konfigurálásával az alábbiakkal:

Indítsd el a projektet, és nézd meg a konzol kimenetét a következőként:

info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Végrehajtott DbCommand (1ms) [paraméter=[], CommandType='Text', CommandTimeout='30']
      SELECT [a]. [Id], [a]. [Mozgáskorlátozott], [a]. [Link], [a]. [Név], [a]. [PinYin], [a]. [Pozíció], [a]. [_CreateTime], [a]. [_CreateTimeStamp], [a]. [_UpdateTime], [a]. [_UpdateTimeStamp]
      TERÜLETRŐL [Területről] AS [a]
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Végrehajtott DbCommand (19ms) [Parameters=[p0='?' (méret = 4000)], CommandType='Text', CommandTimeout='30']
      SELECT * FROM Terület, AHOL pinYin = @p0
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Végrehajtott DbCommand (1ms) [paraméter=[], CommandType='Text', CommandTimeout='30']
      SELECT * FROM Area


Ha az SQL utasítás a where feltétellel csak a paraméterezett változókat tudja megnézni, nem pedig a megadott konkrét értékeket, akkor a következő konfigurációt adjuk hozzá:

Engedélyezzük, hogy az alkalmazás adatai kivételes üzenetekbe, naplókba és egyéb anyagokba kerüljenek be.

Ez magában foglalhatja az entitás példány tulajdonságaihoz rendelt értékeket,

az adatbázisba küldött parancsok paraméterértékei és egyéb hasonló adatok.

Ez a zászló csak akkor engedélyezhető, ha biztonsági intézkedések vannak beépítve

Az adatok érzékenysége alapján.

Figyeld meg, hogy az alkalmazás átmegy-e

Hívjuk a Microsoft.EntityFrameworkCore.DbContextOptions generator.UseInternalServiceProvider(system. IServiceProvider),

Ezt az opciót ugyanúgy kell konfigurálni minden szolgáltató használatához.

Fontold meg, hogy ne hívjuk a Microsoft.EntityFrameworkCore.DbContextOptionsGenerator.UseInternalServiceProvider(system. IServiceProvider)

Az EF így kezeli a szolgáltatót, és szükség esetén új példányokat hozhat létre


A teljes felállás a következő:

A képek a következők:



Természetesen a fenti beállítások konfigurálhatók a DbContext OnConfiguring módszerének felülírásával is (nem ajánlott):

(Vége)




Előző:Financial TipRanks Részvényelemzés Értékelések
Következő:Az EF Core Series (5) SQL utasításokat vagy nézeteket, tárolt eljárásokat hajt végre
 Háziúr| Közzétéve 2021. 09. 26. 9:21:07 |
ef megjeleníti a generált SQL utasításokat
https://www.itsvse.com/thread-3813-1-1.html
Közzétéve 2021. 10. 26. 9:46:19 |
Tanulmányozz, nézd meg, milyen az időkorlát
Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com