|
|
Paskelbta 2021-02-19 14:00:14
|
|
|
|

Naudodami "Entity Framework Core" galite pereiti prie pradinės SQL užklausos, kai naudojate reliacinę duomenų bazę. Kai reikiamos užklausos negalima pateikti LINQ, galima naudoti neapdorotą SQL užklausą. Taip pat galite naudoti neapdorotas SQL užklausas, jei naudojant LINQ užklausas SQL užklausos sukelia neefektyvias SQL užklausas. Neapdorota SQL užklausa modelyje gali pateikti bendrąjį objekto tipą arba beraktį objekto tipą.
Apibendrinimas: SQL sakinių ir saugomų procedūrų vykdymas naudojant "Entity Framework" (EF).
Atlikite SQL sakinių užklausas, naujinimus ir naikinimus bei iškvieskite saugomas procedūras ir rodinius šiais būdais:
- NuoSqlRaw
- FromSqlInterpoliated
- Vykdyti SqlRaw
- ExecuteSqlInterpolated
"FromSqlRaw" ir "FromSqlInterpolated" daugiausia naudojami užklausų operacijoms "ExecuteSqlRaw" ir "ExecuteSqlInterpolated" atlieka pridėjimo, naujinimo ir naikinimo operacijas duomenų bazėje ir pateikia paveiktų eilučių skaičių
Pabaiga yra interpoliuotas raktažodis, kuris paprastai yra parametrų pridėjimas, ištrynimas, modifikavimas ir tikrinimas bei būdas atsispirti SQL injekcijos atakoms naudojant eilutės interpoliacijos sintaksę. Pavyzdžiui:
Išveskite SQL sakinį, užklausos sąlygos neperduodamos sujungiant, kaip parodyta paveikslėlyje žemiau:
Naudojant vietines SQL užklausas reikia žinoti keletą apribojimų:
SQL užklausos turi pateikti visų objekto tipo atributų duomenis. Rezultatų rinkinio stulpelių pavadinimai turi atitikti stulpelių pavadinimus, su kuriais susieti atributai. Atkreipkite dėmesį, kad šis elgesys skiriasi nuo EF6. EF6 nepaisoma pradinės SQL užklausos atributo / stulpelio susiejimo ryšio, o rezultatų rinkinio stulpelių pavadinimai turi atitikti atributų pavadinimus. SQL užklausose negali būti susietų duomenų. Tačiau daugeliu atvejų galite naudoti metodą Įtraukti iškart po užklausos, kad grąžintumėte susietus duomenis (žr. Įtraukti asociatyvius duomenis).
(Pabaiga)
|
Ankstesnis:EF Core Series 4 peržiūri sugeneruotus SQL sakiniusKitą:Smuikininkas pakeičia nuorodas, prašo peradresavimo
|