Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Du definierar LINQ till SQL-frågor med samma syntax som i LINQ. Den enda skillnaden är att objekten som refereras i dina frågor mappas till element i en databas. Mer information finns i Introduktion till LINQ-frågor (C#).
LINQ till SQL översätter de frågor som du skriver till motsvarande SQL-frågor och skickar dem till servern för bearbetning. Mer specifikt använder ditt program LINQ till SQL API för att begära frågekörning. LINQ till SQL-providern omvandlar sedan frågan till SQL-text och delegerar körningen till ADO-providern. ADO-providern returnerar frågeresultat som en DataReader. LINQ till SQL-providern översätter ADO-resultatet till en IQueryable samling användarobjekt.
Anmärkning
De flesta metoder och operatorer på inbyggda .NET Framework-typer har direkta översättningar till SQL. De som LINQ inte kan översätta genererar körningsfel. Mer information finns iSQL-CLR typmappning.
I följande tabell visas likheterna och skillnaderna mellan LINQ och LINQ med SQL-frågeobjekt.
| Objekt | LINQ-fråga | LINQ till SQL-fråga |
|---|---|---|
| Returtyp för den lokala variabel som innehåller frågan (för frågor som returnerar sekvenser) | Allmän IEnumerable |
Allmän IQueryable |
| Ange datakällan | Använder From klausulen (Visual Basic) eller from (C#) |
Samma |
| Filtrering | Använder - Where/where satsen |
Samma |
| Gruppering | Använder - Group…By/groupby satsen |
Samma |
| Välja (projektering) | Använder - Select/select satsen |
Samma |
| Uppskjuten kontra omedelbar körning | Se Introduktion till LINQ-frågor (C#) | Samma |
| Implementera sammanfogningar | Använder - Join/join satsen |
Kan använda Join/join -satsen, men använder AssociationAttribute attributet mer effektivt. Mer information finns i Fråga mellan relationer. |
| Fjärr- vs. lokal utförande | Mer information finns i Fjärr- och lokal körning. | |
| Direktuppspelning jämfört med cachelagrad fråga | Inte tillämpligt i ett scenario med lokalt minne |