Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zapytania LINQ to SQL definiuje się przy użyciu tej samej składni, co w LINQ. Jedyną różnicą jest to, że obiekty przywoływane w zapytaniach są mapowane na elementy w bazie danych. Aby uzyskać więcej informacji, zobacz Wprowadzenie do zapytań LINQ (C#).
LINQ to SQL tłumaczy zapytania zapisywane w równoważnych zapytaniach SQL i wysyła je do serwera na potrzeby przetwarzania. W szczególności aplikacja używa interfejsu API LINQ to SQL do żądania wykonania zapytań. Dostawca LINQ to SQL przekształca zapytanie w tekst SQL i deleguje wykonywanie do dostawcy ADO. Dostawca ADO zwraca wyniki zapytania jako DataReader. Dostawca LINQ to SQL tłumaczy wyniki ADO na IQueryable kolekcję obiektów użytkownika.
Uwaga / Notatka
Większość metod i operatorów w wbudowanych typach programu .NET Framework ma bezpośrednie tłumaczenia na język SQL. Te, których LINQ nie może przetłumaczyć, generują błędy wykonywania w czasie uruchomienia. Aby uzyskać więcej informacji, zobacz mapowanie typówSQL-CLR.
W poniższej tabeli przedstawiono podobieństwa i różnice między elementami zapytań LINQ i LINQ to SQL.
| Przedmiot | Zapytanie LINQ | Zapytanie LINQ to SQL |
|---|---|---|
| Zwraca typ zmiennej lokalnej, która zawiera zapytanie (w przypadku zapytań, które zwracają sekwencje) | Rodzajowy \IEnumerable |
Rodzajowy \IQueryable |
| Określanie źródła danych | Używa klauzuli From (Visual Basic) lub from (C#) |
To samo |
| Filtrowanie | Używa klauzuli Where/where |
To samo |
| Grupowanie | Używa klauzuli Group…By/groupby |
To samo |
| Wybieranie (projektowanie) | Używa klauzuli Select/select |
To samo |
| Odroczone i natychmiastowe wykonanie | Zobacz Wprowadzenie do zapytań LINQ (C#) | To samo |
| Implementowanie łączeń | Używa klauzuli Join/join |
Może używać klauzuli Join/join , ale bardziej efektywnie używa atrybutu .AssociationAttribute Aby uzyskać więcej informacji, zobacz Querying Across Relationships (Wykonywanie zapytań między relacjami). |
| Zdalne i lokalne wykonywanie | Aby uzyskać więcej informacji, zobacz Zdalne i lokalne wykonywanie. | |
| Przesyłanie strumieniowe a buforowane zapytania | Nie dotyczy w przypadku pamięci lokalnej |
Zobacz także
- wprowadzenie do zapytań LINQ (C#)
- Podstawowe operacje zapytań LINQ
- Relacje typów w operacjach zapytań LINQ
- pojęcia dotyczące zapytań