Delen via


LINQ naar SQL-query's

U definieert LINQ voor SQL-query's met dezelfde syntaxis als in LINQ. Het enige verschil is dat de objecten waarnaar in uw query's wordt verwezen, worden toegewezen aan elementen in een database. Zie Inleiding tot LINQ-query's (C#) voor meer informatie.

LINQ naar SQL vertaalt de query's die u schrijft in gelijkwaardige SQL-query's en verzendt deze naar de server voor verwerking. Meer specifiek gebruikt uw toepassing de LINQ naar SQL API om de uitvoering van query's aan te vragen. De LINQ naar SQL-provider transformeert de query vervolgens in SQL-tekst en delegeert de uitvoering naar de ADO-provider. De ADO-provider retourneert queryresultaten als een DataReader. De LINQ naar SQL-provider vertaalt de ADO-resultaten naar een IQueryable verzameling gebruikersobjecten.

Notitie

De meeste methoden en operators op ingebouwde .NET Framework-typen hebben directe vertalingen naar SQL. Degenen die LINQ niet kunnen vertalen, genereren runtime-uitzonderingen. Zie Toewijzing van SQL-CLR-typen voor meer informatie.

In de volgende tabel ziet u de overeenkomsten en verschillen tussen LINQ en LINQ naar SQL-query-items.

Artikel LINQ-query LINQ naar SQL-query
Retourtype van de lokale variabele die de query bevat (voor query's die reeksen retourneren) Generieke IEnumerable Generieke IQueryable
De gegevensbron opgeven Maakt gebruik van de From component (Visual Basic) of from (C#) Zelfde
Filteren Maakt gebruik van de Where/where component Zelfde
Groepering Maakt gebruik van de Group…By/groupby component Zelfde
Selecteren (projecteren) Maakt gebruik van de Select/select component Zelfde
Uitgestelde versus onmiddellijke uitvoering Zie Inleiding tot LINQ-query's (C#) Zelfde
Joins implementeren Maakt gebruik van de Join/join component Kan de Join/join component gebruiken, maar maakt effectiever gebruik van het AssociationAttribute kenmerk. Zie Query's uitvoeren op meerdere relaties voor meer informatie.
Extern versus lokale uitvoering Zie Remote versus Local Execution voor meer informatie.
Streaming versus query's in de cache Niet van toepassing in een lokaal geheugenscenario

Zie ook