|
|
Postitatud 19.02.2021 14:00:14
|
|
|
|

Entity Framework Core'iga saad pöörduda algsele SQL-päringule, kui kasutad relatsioonilist andmebaasi. Kui nõutud päringut ei saa LINQ-is esitada, saab kasutada toor-SQL-päringut. Võid kasutada ka toor-SQL-päringuid, kui LINQ päringute kasutamine põhjustab ebaefektiivseid SQL-päringuid. Toore SQL-päring võib mudelis tagastada üldise entiteedi tüübi või võtmeta entiteedi tüübi.
Kokkuvõte: SQL-lausete ja salvestatud protseduuride täitmine Entity Frameworkiga (EF).
Teosta SQL-lause päringuid, uuendamist ja kustutamist ning käivita salvestatud protseduure ja vaateid järgmiste meetodite abil:
- FromSqlRaw
- FromSqlInterpolated
- ExecuteSqlRaw
- ExecuteSqlInterpolated
FromSqlRaw ja FromSqlInterpolated on peamiselt kasutusel päringute operatsioonide jaoks ExecuteSqlRaw ja ExecuteSqlInterpolated teostavad andmebaasis lisamise, uuendamise ja kustutamise operatsioone ning tagastavad mõjutatud ridade arvu
Lõpp on interpoleeritud märksõna, mis on tavaliselt parameetrite lisamine, kustutamine, muutmine ja kontroll ning viis vastu seista SQL-i süstimisrünnakutele, kasutades stringi interpoleerimise süntaksit. Näiteks:
Kui väljundiks on SQL-lause, ei läbita päringu tingimusi splicing'uga, nagu näidatud alloleval joonisel:
Natiivsete SQL-päringute kasutamisel on mõned piirangud:
SQL-päringud peavad tagastama andmed kõigi entiteeditüübi atribuutide kohta. Tulemuste hulga veergude nimed peavad vastama veergude nimedele, millele atribuudid on seotud. Pane tähele, et see käitumine erineb EF6-st. Originaalse SQL-päringu atribuudi/veeru kaardistamise suhet ignoreeritakse EF6-s ning tulemuste komplekti veergude nimed peavad vastama atribuudi nimedele. SQL-päringud ei tohi sisaldada seotud andmeid. Kuid paljudel juhtudel saab kohe pärast päringut kasutada Include meetodit, et tagastada korreleeritud andmed (vt Include Associative Data).
(Lõpp)
|
Eelmine:EF Core Series 4 vaatleb genereeritud SQL-lauseidJärgmine:Fiddler asendab lingid, taotleb suunamisi
|