Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 55374|Odpověď: 2

[Zdroj] EF Core Series 4 se dívá na generované SQL příkazy

[Kopírovat odkaz]
Zveřejněno 19.02.2021 13:36:34 | | | |
EF Core Series 2 zapouzdřuje OnModelCreating, vytváří indexy pomocí odrazů a další
https://www.itsvse.com/thread-9392-1-1.html

EF Core Series (3) Entity Frame Shadow atributy [přetisk]
https://www.itsvse.com/thread-9558-1-1.html


Při vývoji, při používání frameworku EF Core, při linq nebo lambda výrazech, nemůžeme přímo zobrazit SQL příkazy, což je pro nás nepohodlné při řešení problémů nebo optimalizaci výkonu.
ef zobrazuje generované SQL příkazy
https://www.itsvse.com/thread-3813-1-1.html

Tento článek používá EF Core 5 jako příkladpro zobrazení SQL příkazů generovaných výstupním EF.


Nejprve vytvořte novou tovární proměnnou consolelogger ve startovacím souboru s proměnnou "ConsoleLoggerFactory" a generovaný SQL příkaz bude výstupem do konzole, kód je následující:

Přidejte výstup logu do metody ConfigureServices konfigurací kódu DbContext následovně:

Spusťte projekt a podívejte se na výstup z konzole následovně:

info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Proveden DbCommand (1ms) [Parametry=[], Type='Text', Timeout='30']
      VYBERTE [a]. [Id], [a]. [Disabled], [a]. [Odkaz], [a]. [Jméno], [a]. [PinYin], [a]. [Pozice], [a]. [_CreateTime], [a]. [_CreateTimeStamp], [a]. [_UpdateTime], [a]. [_UpdateTimeStamp]
      Z [Oblast] JAKO [a]
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Proveden DbCommand (19ms) [Parametry=[p0='?' (Velikost = 4000)], CommandType='Text', CommandTimeout='30']
      VYBER * Z oblasti KDE pinYin = @p0
info: Microsoft.EntityFrameworkCore.Database.Command[20101]
      Proveden DbCommand (1ms) [Parametry=[], Type='Text', Timeout='30']
      VYBRAT * Z oblasti


Pokud SQL příkaz s podmínkou kde může zobrazit pouze parametrizované proměnné, nikoli konkrétní předané hodnoty, přidá se následující konfigurace:

Umožnit zahrnutí dat aplikací do zpráv o výjimkách, logů a dalších míst.

To může zahrnovat hodnoty přiřazené vlastnostem instance entity,

hodnoty parametrů příkazů odeslaných do databáze a další podobná data.

Tato vlajka by měla být aktivována pouze v případě bezpečnostních opatření

Na základě citlivosti těchto dat.

Všimněte si, jestli žádost prochází

Zavolejte generátor Microsoft.EntityFrameworkCore.DbContextOptions.UseInternalServiceProvider(system. IServiceProvider),

Tato možnost musí být pak nakonfigurována stejným způsobem pro veškeré využití daného poskytovatele služby.

Zvažte, že nevoláte Microsoft.EntityFrameworkCore.DbContextOptionsGenerator.UseInternalServiceProvider(system. IServiceProvider)

EF proto spravuje poskytovatele služeb a může podle potřeby vytvářet nové instance


Kompletní sestava je následující:

Vizualizace jsou následující:



Samozřejmě, výše uvedená nastavení lze také nastavit přepsáním metody OnConfiguring v DbContext (což není doporučeno):

(Konec)




Předchozí:Financial TipRanks hodnocení analýzy akcií
Další:EF Core Series (5) vykonává SQL příkazy nebo pohledy, uložené procedury
 Pronajímatel| Zveřejněno 26.09.2021 9:21:07 |
ef zobrazuje generované SQL příkazy
https://www.itsvse.com/thread-3813-1-1.html
Zveřejněno 26.10.2021 9:46:19 |
Studuj, zjisti, jaký je časový limit
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com