Udostępnij za pośrednictwem


Zapytania LINQ to SQL

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

Większość metod i operatorów w wbudowanych typach programu .NET Framework ma bezpośrednie tłumaczenia na język SQL. Te, które LINQ nie mogą tłumaczyć wyjątków w czasie wykonywania. Aby uzyskać więcej informacji, zobacz Mapowanie typów SQL-CLR.

W poniższej tabeli przedstawiono podobieństwa i różnice między elementami zapytań LINQ i LINQ to SQL.

Towar Zapytanie LINQ Zapytanie LINQ to SQL
Zwraca typ zmiennej lokalnej, która zawiera zapytanie (w przypadku zapytań, które zwracają sekwencje) Ogólny IEnumerable Ogólny 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 sprzężeń 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 scenariuszu pamięci lokalnej

Zobacz też