Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 55374|Atbildi: 2

[Avots] EF Core Series 4 aplūko ģenerētos SQL priekšrakstus

[Kopēt saiti]
Publicēts 19.02.2021 13:36:34 | | | |
EF Core Series 2 iekapsulē OnModelCreation, izveido indeksus, izmantojot atspulgus, un daudz ko citu
https://www.itsvse.com/thread-9392-1-1.html

EF Core sērijas (3) entītijas rāmja ēnu atribūti [Atkārtota izdruka]
https://www.itsvse.com/thread-9558-1-1.html


Izstrādē, izmantojot ef core ietvaru, izmantojot linq vai lambda izteiksmes, mēs nevaram tieši apskatīt sql paziņojumus, kas mums ir neērti, lai novērstu vai optimizētu veiktspēju.
ef parāda ģenerētos SQL priekšrakstus
https://www.itsvse.com/thread-3813-1-1.html

Šajā rakstā kā piemērs izmantots EF Core 5, lai skatītu SQL priekšrakstus, ko ģenerē izvade EF.


Pirmkārt, startēšanas failā izveidojiet jaunu consolelogger rūpnīcas mainīgo ar mainīgo "ConsoleLoggerFactory", un ģenerētais sql paziņojums tiks izvadīts konsolē, kods ir šāds:

Pievienojiet žurnāla izvadi metodei ConfigureServices, konfigurējot DbContext kodu šādi:

Sāciet projektu un skatiet konsoles izvadi šādi:

info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Izpildīta DbCommand (1ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
      ATLASIET [a]. [Id], [a]. [Atspējots], [a]. [Saite], [a]. [Vārds], [a]. [PinYin], [a]. [Amats], [a]. [_CreateTime], [a]. [_CreateTimeStamp], [a]. [_UpdateTime], [a]. [_UpdateTimeStamp]
      NO [Apgabals] AS [a]
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Izpildīta DbCommand (19ms) [Parameters=[p0='?' (Izmērs = 4000)], CommandType='Teksts', CommandTimeout='30']
      SELECT * FROM Apgabals KUR pinYin = @p0
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Izpildīta DbCommand (1ms) [Parameters=[], CommandType='Text', CommandTimeout='30']
      SELECT * FROM Area


Ja SQL priekšraksts ar nosacījumu where var skatīt tikai parametrizētos mainīgos, nevis konkrētās nodotās vērtības, tiek pievienota šāda konfigurācija:

Iespējojiet lietojumprogrammu datu iekļaušanu izņēmuma ziņojumos, žurnālos un citos gadījumos.

Tas var ietvert vērtības, kas piešķirtas entītijas instances rekvizītiem,

datu bāzē nosūtīto komandu parametru vērtības un citi šādi dati.

Šo karodziņu vajadzētu iespējot tikai tad, ja ir ieviesti drošības pasākumi

Pamatojoties uz šo datu jutīgumu.

Ņemiet vērā, ja pieteikums tiek izskatīts

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

Pēc tam šī opcija ir jākonfigurē vienādi visiem šī pakalpojumu sniedzēja lietojumiem.

Apsveriet iespēju neizsaukt Microsoft.EntityFrameworkCore.DbContextOptionsGenerator.UseInternalServiceProvider(system. IServiceProvider)

Tāpēc EF pārvaldīs pakalpojumu sniedzēju un pēc vajadzības var izveidot jaunas instances


Pilna iestatīšana ir šāda:

Atveidojumi ir šādi:



Protams, iepriekš minētos iestatījumus var konfigurēt arī, ignorējot DbContext metodi OnConfiguring (nav ieteicams):

(Beigas)




Iepriekšējo:Finanšu TipRanks akciju analīzes reitingi
Nākamo:EF Core Series (5) izpilda SQL priekšrakstus vai skatus, saglabātās procedūras
 Saimnieks| Publicēts 26.09.2021 09:21:07 |
ef parāda ģenerētos SQL priekšrakstus
https://www.itsvse.com/thread-3813-1-1.html
Publicēts 26.10.2021 09:46:19 |
Izpētiet, skatiet, kā ir laika ierobežojums
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com