Megosztás a következőn keresztül:


LINQ–SQL-lekérdezések

A LINQ-t az SQL-lekérdezésekhez ugyanazzal a szintaxissal definiálhatja, mint a LINQ-ban. Az egyetlen különbség az, hogy a lekérdezésekben hivatkozott objektumok egy adatbázis elemeire vannak leképezve. További információ: Bevezetés a LINQ-lekérdezések (C#) használatába.

A LINQ az SQL-nek lefordítja az ön által írt lekérdezéseket egyenértékű SQL-lekérdezésekre, és elküldi őket a kiszolgálónak feldolgozás céljából. Pontosabban az alkalmazás a LINQ-t használja az SQL API-hoz a lekérdezés végrehajtásának igényléséhez. A LINQ és az SQL-szolgáltató ezt követően SQL-szöveggé alakítja át a lekérdezést, és a végrehajtást az ADO-szolgáltatónak delegálja. Az ADO-szolgáltató lekérdezési eredményeket DataReaderad vissza . A LINQ és az SQL-szolgáltató az ADO-eredményeket felhasználói objektumok gyűjteményére IQueryable fordítja le.

Feljegyzés

A .NET-keretrendszer beépített típusok legtöbb metódusa és operátora közvetlen SQL-fordítással rendelkezik. Azok, amelyeket a LINQ nem tud lefordítani, futásidejű kivételeket generálnak. További információkért lásd az SQL-CLR típusleképezését.

Az alábbi táblázat a LINQ és a LINQ és az SQL-lekérdezéselemek közötti hasonlóságokat és különbségeket mutatja be.

Elem LINQ-lekérdezés LINQ–SQL Query
A lekérdezést tartalmazó helyi változó visszatérési típusa (sorozatokat visszaváltó lekérdezések esetén) Általános IEnumerable Általános IQueryable
Az adatforrás megadása From A (Visual Basic) vagy from a (C#) záradékot használja Ugyanaz
Szűrés Where/where A záradékot használja Ugyanaz
Csoportosítás Group…By/groupby A záradékot használja Ugyanaz
Kiválasztás (kivetítés) Select/select A záradékot használja Ugyanaz
Halasztott és azonnali végrehajtás A LINQ-lekérdezések bemutatása (C#) Ugyanaz
Csatlakozások implementálása Join/join A záradékot használja Használhatja a Join/join záradékot, de hatékonyabban használhatja az AssociationAttribute attribútumot. További információt a Kapcsolatok közötti lekérdezés című témakörben talál.
Távoli és helyi végrehajtás További információ: Távoli és helyi végrehajtás.
Streamelés és gyorsítótárazott lekérdezés Helyi memóriaforgatókönyvben nem alkalmazható

Lásd még