|
|
Közzétéve 2021. 02. 19. 14:00:14
|
|
|
|

Az Entity Framework Core-szal relációs adatbázis használatakor az eredeti SQL lekérdezésre lehet váltani. Ha a szükséges lekérdezés nem reprezentálható a LINQ-ban, akkor a nyers SQL lekérdezés használható. Használhatsz nyers SQL lekérdezéseket is, ha a LINQ lekérdezések nem hatékonyak SQL lekérdezéseket okoznak. A nyers SQL lekérdezés generikus entitástípust vagy kulcs nélküli entitástípust is visszaadhat a modellben.
Összefoglaló: SQL utasítások és tárolt eljárások végrehajtása az Entity Framework (EF) segítségével.
SQL utasításlekérdezések, frissítések és törlések végrehajtása, valamint tárolt eljárások és nézetek idézése az alábbi módszerekkel:
- FromSqlRaw
- FromSqlInterpolated
- ExecuteSqlRaw
- ExecuteSqlInterpolated
A FromSqlRaw és FromSqlInterpolated főként lekérdezési műveletekhez használatosak Az ExecuteSqlRaw és az ExecuteSqlInterpolated hozzáadás, frissítés és törlés műveleteket végeznek az adatbázison, és visszaadja az érintett sorok számát
A végén egy interpolált kulcsszó, amely általában paraméterek hozzáadása, törlése, módosítás és ellenőrzés, valamint az SQL injekciós támadások elleni ellenállás módja string interpolációs szintaxissal. Például:
SQL utasítást adsz ki, a lekérdezési feltételek nem kerülnek átmenni splicingen, ahogy az alábbi ábrán látható:
Néhány korlátozást kell figyelembe venni a natív SQL lekérdezések használatakor:
Az SQL lekérdezéseknek az összes entitástípus attribútumára adatokat kell visszaadniuk. Az eredményhalmaz oszlopneveinek egyezniük kell azokkal az oszlopnevekkel, amelyekhez az attribútumok leképezésre vannak leképezve. Fontos megjegyezni, hogy ez a viselkedés eltér az EF6-tól. Az eredeti SQL lekérdezés attribútum/oszlop leképezési kapcsolatát figyelmen kívül hagyják az EF6-ban, és az eredményhalmaz oszlopneveinek egyezniük kell az attribútumnevekkel. Az SQL lekérdezések nem tartalmazhatnak kapcsolódó adatokat. Azonban sok esetben a lekérdezés után azonnal az Include metódót használhatod a korrelált adatok visszaadására (lásd: Asszociatív adatok bevonása).
(Vége)
|
Előző:Az EF Core Series 4 a generált SQL utasításokat vizsgáljaKövetkező:Fiddler lecseréli a linkeket, továbbítási utasításokat kér
|