|
|
Postat pe 19.02.2021 14:00:14
|
|
|
|

Cu Entity Framework Core, poți trece la interogarea SQL originală atunci când folosești o bază de date relațională. Când interogarea necesară nu poate fi reprezentată în LINQ, interogarea SQL brută poate fi folosită. Poți folosi și interogări SQL brute dacă folosirea interogărilor LINQ cauzează interogări SQL ineficiente. Interogarea SQL brută poate returna un tip generic de entitate sau un tip de entitate fără cheie în model.
Recapitulare: Executarea instrucțiunilor SQL și a procedurilor stocate cu Entity Framework (EF).
Efectuați interogări de instrucțiuni SQL, actualizări și ștergeri și invocați proceduri stocate și vizualizări folosind următoarele metode:
- FromSqlRaw
- FromSqlInterpolat
- ExecuteSqlRaw
- ExecuteSqlInterpolated
FromSqlRaw și FromSqlInterpolated sunt folosite în principal pentru operațiuni de interogare ExecuteSqlRaw și ExecuteSqlInterpolated efectuează operațiuni de adăugare, actualizare și ștergere asupra bazei de date și returnează numărul de rânduri afectate
Sfârșitul este un cuvânt-cheie interpolat, care de obicei este o adăugare, ștergere, modificare și verificare a parametrilor, precum și o modalitate de a rezista atacurilor de injecție SQL folosind sintaxa interpolării stringurilor. De exemplu:
Ieși o instrucțiune SQL, condițiile de interogare nu trec prin splicing, așa cum se arată în figura de mai jos:
Există câteva limitări de care trebuie să ții cont atunci când folosești interogări SQL native:
Interogările SQL trebuie să returneze date pentru toate atributele tipului entității. Numele coloanelor din setul de rezultate trebuie să corespundă cu numele coloanelor la care sunt mapate atributele. Rețineți că acest comportament este diferit de EF6. Relația de mapare atribut/coloană a interogării SQL originale este ignorată în EF6, iar numele coloanelor setului de rezultate trebuie să corespundă cu numele atributelor. Interogările SQL nu pot conține date asociate. Totuși, în multe cazuri, poți folosi metoda Include imediat după interogare pentru a returna date corelate (vezi Include Asociative Data).
(Sfârșit)
|
Precedent:EF Core Series 4 analizează instrucțiunile SQL generateUrmător:Fiddler înlocuiește linkurile, solicită redirecționarea redirecționării
|