Izmantojot Entity Framework Core, varat pāriet uz sākotnējo SQL vaicājumu, izmantojot relāciju datu bāzi. Ja nepieciešamo vaicājumu nevar attēlot LINQ, var izmantot neapstrādātu SQL vaicājumu. Varat arī izmantot neapstrādātus SQL vaicājumus, ja LINQ vaicājumu izmantošana izraisa neefektīvus SQL vaicājumus. Neapstrādātais SQL vaicājums modelī var atgriezt vispārīgu entītijas tipu vai bezatslēgas entītijas tipu.
Kopsavilkums: SQL paziņojumu un saglabāto procedūru izpilde ar Entity Framework (EF).
Veiciet SQL priekšraksta vaicājumus, atjauninājumus un dzēšanu, kā arī izsauciet saglabātās procedūras un skatus, izmantojot šādas metodes:
- NoSqlRaw
- FromSqlInterpolated
- Izpildīt SqlRaw
- ExecuteSqlInterpolated
FromSqlRaw un FromSqlInterpolated galvenokārt tiek izmantoti vaicājumu operācijām ExecuteSqlRaw un ExecuteSqlInterpolated veic pievienošanas, atjaunināšanas un dzēšanas darbības datu bāzē un atgriež ietekmēto rindu skaitu
Beigas ir interpolēts atslēgvārds, kas parasti ir parametru pievienošana, dzēšana, modificēšana un pārbaude, kā arī veids, kā pretoties SQL injekcijas uzbrukumiem, izmantojot virknes interpolācijas sintaksi. Piemēram:
Izvadiet SQL priekšrakstu, vaicājuma nosacījumi netiek nodoti savienošanai, kā parādīts zemāk redzamajā attēlā:
Ir daži ierobežojumi, kas jāņem vērā, izmantojot vietējos SQL vaicājumus:
SQL vaicājumiem ir jāatgriež dati par visiem entītijas tipa atribūtiem. Kolonnu nosaukumiem rezultātu kopā jāsakrīt ar kolonnu nosaukumiem, uz kuriem atribūti ir kartēti. Ņemiet vērā, ka šī darbība atšķiras no EF6. Sākotnējā SQL vaicājuma atribūtu/kolonnu kartēšanas relācija EF6 tiek ignorēta, un rezultātu kopas kolonnu nosaukumiem jāatbilst atribūtu nosaukumiem. SQL vaicājumi nedrīkst saturēt saistītos datus. Tomēr daudzos gadījumos varat izmantot metodi Iekļaut tūlīt pēc vaicājuma, lai atgrieztu korelētos datus (skatiet sadaļu Asociatīvo datu iekļaušana).
(Beigas)
|