Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 55374|Vastaus: 2

[Lähde] EF Core Series 4 tarkastelee generoituja SQL-lauseita

[Kopioi linkki]
Julkaistu 19.2.2021 13.36.34 | | | |
EF Core Series 2 kapseloi OnModelCreatingin, luo indeksejä heijastusten avulla ja paljon muuta
https://www.itsvse.com/thread-9392-1-1.html

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


Kehityksessä, kun käytetään ef core frameworkia, linq- tai lambda-lausekkeita, emme voi suoraan nähdä sql-lauseita, mikä on hankalaa vianetsinnästä tai suorituskyvyn optimoinnista.
ef näyttää luodut SQL-lauseet
https://www.itsvse.com/thread-3813-1-1.html

Tässä artikkelissa käytetään esimerkkinä EF Core 5nähdäkseen EF:n tuottamat SQL-lauseet.


Luo ensin uusi consoleloggerin tehdasmuuttuja käynnistystiedostoon muuttujalla "ConsoleLoggerFactory", ja generoitu sql-lause lähetetään konsolille, koodi on seuraava:

Lisää lokitulostus ConfigureServices-metodiin konfiguroimalla DbContext-koodi seuraavasti:

Aloita projekti ja näe konsolin tulos seuraavasti:

info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Suoritettu DbCommand (1ms) [parametrit=[], CommandType='Teksti', CommandTimeout='30']
      VALITSE [a]. [Id], [a]. [Vammainen], [a]. [Linkki], [a]. [Nimi], [a]. [PinYin], [a]. [Asento], [a]. [_CreateTime], [a]. [_CreateTimeStamp], [a]. [_UpdateTime], [a]. [_UpdateTimeStamp]
      ALUEELTA [alue] AS [a]
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Suoritettu DbCommand (19ms) [parametrit=[p0='?' (koko = 4000)], CommandType='Teksti', CommandTimeout='30']
      VALITSE * ALUEESTA MISSÄ pinYin = @p0
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Suoritettu DbCommand (1ms) [parametrit=[], CommandType='Teksti', CommandTimeout='30']
      VALITSE * ALUEELTA


Jos SQL-lause where-ehdolla voi nähdä vain parametrisoidut muuttujat, ei välitetyt arvot, lisätään seuraava konfiguraatio:

Salli sovellustietojen sisällyttäminen poikkeusviesteihin, lokeihin ja muuhun.

Tämä voi sisältää arvoja, jotka on annettu entiteettiinstanssin ominaisuuksille,

tietokannalle lähetettyjen komentojen parametriarvot sekä muut vastaavat tiedot.

Tämä lippu tulisi ottaa käyttöön vain, jos turvallisuustoimia on käytössä

Perustuen tämän datan herkkyyteen.

Huomaa, jos hakemus on käynnissä

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

Tämä vaihtoehto on konfiguroitava samalla tavalla kaikissa kyseisen palveluntarjoajan käytössä.

Harkitse, ettet kutsu Microsoft.EntityFrameworkCore.DbContextOptionsGenerator.UseInternalServiceProvider(system. IServiceProvider)

EF hallinnoi siis palveluntarjoajaa ja voi luoda uusia instansseja tarpeen mukaan


Koko asetelma on seuraava:

Renderöinnit ovat seuraavat:



Tietenkin yllä olevat asetukset voidaan määrittää myös ohittamalla DbContextin OnConfiguring-menetelmä (ei suositeltavaa):

(Loppu)




Edellinen:Financial TipRanks Osakeanalyysin luokitukset
Seuraava:EF Core Series (5) suorittaa SQL-lauseita tai näkymiä, tallennettuja proseduureja
 Vuokraisäntä| Julkaistu 26.9.2021 9.21.07 |
ef näyttää luodut SQL-lauseet
https://www.itsvse.com/thread-3813-1-1.html
Julkaistu 26.10.2021 9.46.19 |
Opiskele, katso miten aikaraja on
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com