Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 55374|Odgovoriti: 2

[Vir] EF Core Series 4 preučuje generirane SQL stavke

[Kopiraj povezavo]
Objavljeno na 19. 02. 2021 13:36:34 | | | |
EF Core Series 2 kapsulira OnModelCreating, ustvarja indekse z odsevi in še več
https://www.itsvse.com/thread-9392-1-1.html

EF Core Series (3) Atributi senc okvirja entitet [ponatis]
https://www.itsvse.com/thread-9558-1-1.html


Pri razvoju, ko uporabljamo ef core ogrodje, pri uporabi linq ali lambda izrazov, ne moremo neposredno videti SQL stavkov, kar je za nas neprijetno za odpravljanje težav ali optimizacijo zmogljivosti.
ef prikazuje generirane SQL stavke
https://www.itsvse.com/thread-3813-1-1.html

Ta članek uporablja EF Core 5 kot primerza ogled SQL stavkov, ki jih generira izhodni EF.


Najprej ustvarite novo spremenljivko consolelogger factory v zagonski datoteki s spremenljivko "ConsoleLoggerFactory", in generirana SQL izjava bo izpisana v konzolo, koda je naslednja:

Dodajte izhod dnevnika metodi ConfigureServices tako, da konfigurirate kodo DbContext na naslednji način:

Začni projekt in si oglej izhod iz konzole takole:

info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Izveden DbCommand (1ms) [Parametri=[], CommandType='Text', CommandTimeout='30']
      IZBERI [a]. [Id], [a]. [Onemogočen], [a]. [Povezava], [a]. [Ime], [a]. [PinYin], [a]. [Položaj], [a]. [_CreateTime], [a]. [_CreateTimeStamp], [a]. [_UpdateTime], [a]. [_UpdateTimeStamp]
      IZ [Območje] KOT [a]
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Izveden DbCommand (19ms) [Parametri=[p0='?' (Velikost = 4000)], CommandType='Text', CommandTimeout='30']
      IZBERI * IZ območja, kjer pinYin = @p0
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Izveden DbCommand (1ms) [Parametri=[], CommandType='Text', CommandTimeout='30']
      IZBERI * IZ območja


Če lahko SQL stavek s pogojem kjer vidi le parametrizirane spremenljivke, ne pa specifičnih prenesenih vrednosti, se doda naslednja konfiguracija:

Omogočite vključitev aplikacijskih podatkov v sporočila o izjemah, dnevnike in še več.

To lahko vključuje vrednosti, dodeljene lastnostim entitete,

vrednosti parametrov ukazov, poslanih v bazo podatkov, in druge podobne podatke.

To zastavo je treba aktivirati le, če obstajajo varnostni ukrepi

Na podlagi občutljivosti teh podatkov.

Opazite, če je vloga v postopku

Pokličite Microsoft.EntityFrameworkCore.DbContextOptions generator.UseInternalServiceProvider(system. IServiceProvider),

To možnost je nato treba konfigurirati na enak način za vse uporabe tega ponudnika storitev.

Razmislite, da ne kličete Microsoft.EntityFrameworkCore.DbContextOptionsGenerator.UseInternalServiceProvider(system. IServiceProvider)

EF tako upravlja ponudnika storitev in lahko po potrebi ustvari nove primere


Celotna postavitev je naslednja:

Upodobitve so naslednje:



Seveda je zgornje nastavitve mogoče konfigurirati tudi z preglasitvijo metode OnConfiguring v DbContext (kar ni priporočljivo):

(Konec)




Prejšnji:Financial TipRanks ocenjuje analizo delnic
Naslednji:EF Core Series (5) izvaja SQL stavke ali poglede, shranjene postopke
 Najemodajalec| Objavljeno na 26. 09. 2021 09:21:07 |
ef prikazuje generirane SQL stavke
https://www.itsvse.com/thread-3813-1-1.html
Objavljeno na 26. 10. 2021 09:46:19 |
Preuči se, poglej, kakšna je časovna omejitev
Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com