See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 55374|Vastuse: 2

[Allikas] EF Core Series 4 vaatleb genereeritud SQL-lauseid

[Kopeeri link]
Postitatud 19.02.2021 13:36:34 | | | |
EF Core Series 2 kapseldab OnModelCreating'i, loob indekseid peegelduste abil ja palju muud
https://www.itsvse.com/thread-9392-1-1.html

EF Core Series (3) Entity Frame Shadow atribuudid [Taastrükk]
https://www.itsvse.com/thread-9558-1-1.html


Arenduses, kui kasutame ef core raamistikku, kasutades linq või lambda avaldisi, ei saa me otse vaadata SQL-lauseid, mis on ebamugav tõrkeotsingul või jõudluse optimeerimisel.
ef kuvab genereeritud SQL-laused
https://www.itsvse.com/thread-3813-1-1.html

Selles artiklis kasutatakse näiteks EF Core 5et vaadata väljundi EF poolt genereeritud SQL-lauseid.


Esiteks, loo käivitusfailis uus consoleloggeri tehase muutuja muutujaga "ConsoleLoggerFactory" ning genereeritud sql-lause väljastatakse konsoolile, kood on järgmine:

Lisa logiväljund ConfigureServices meetodile, konfigureerides DbContext koodi järgmiselt:

Alusta projekti ja vaata konsooli väljundit järgmiselt:

info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Käivitatud DbCommand (1ms) [parameetrid=[], CommandType='tekst', CommandTimeout='30']
      VALI [a]. [Id], [a]. [Puudega], [a]. [Link], [a]. [Nimi], [a]. [PinYin], [a]. [Positsioon], [a]. [_CreateTime], [a]. [_CreateTimeStamp], [a]. [_UpdateTime], [a]. [_UpdateTimeStamp]
      PIIRKONNAST [piirkonnast] KUI [a]
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Käivitatud DbCommand (19ms) [parameetrid=[p0='?' (suurus = 4000)], CommandType='Text', CommandTimeout='30']
      VALI * SEALT Ala KUS pinYin = @p0
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Käivitatud DbCommand (1ms) [parameetrid=[], CommandType='tekst', CommandTimeout='30']
      VALI * PIIRKONNAST


Kui SQL-lause tingimusega kus suudab vaadata ainult parameetristatud muutujaid, mitte konkreetseid edastatud väärtusi, lisatakse järgmine konfiguratsioon:

Luba rakenduse andmeid lisada erandsõnumitesse, logidesse ja mujale.

See võib hõlmata väärtusi, mis on määratud entiteedi instantsi omadustele,

Andmebaasi saadetud käskude parameetriväärtused ja muud sellised andmed.

See lipp peaks olema lubatud ainult siis, kui on olemas ohutusmeetmed

Tuginedes nende andmete tundlikkusele.

Pane tähele, kui taotlus läbib

Helista Microsoft.EntityFrameworkCore.DbContextOptions generator.UseInternalServiceProvider(system. IServiceProvider),

See valik tuleb seejärel seadistada samamoodi kõigi teenusepakkuja kasutuskordade jaoks.

Kaalu mitte helistamist Microsoft.EntityFrameworkCore.DbContextOptionsGenerator.UseInternalServiceProvider(system. IServiceProvider)

EF haldab seega teenusepakkujat ja saab vajadusel luua uusi instantse


Täielik ülesehitus on järgmine:

Renderdused on järgmised:



Loomulikult saab ülaltoodud seadeid seadistada ka DbContexti OnConfiguring meetodi (ei soovitata) üle kirjutamisega:

(Lõpp)




Eelmine:Financial TipRanks aktsiaanalüüsi reitingud
Järgmine:EF Core Series (5) täidab SQL-lauseid või vaateid, salvestatud protseduure
 Üürileandja| Postitatud 26.09.2021 09:21:07 |
ef kuvab genereeritud SQL-laused
https://www.itsvse.com/thread-3813-1-1.html
Postitatud 26.10.2021 09:46:19 |
Uuri, vaata, milline on ajapiirang
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com