LINQ
LINQ (ang. Language Integrated Query) w tłumaczeniu na polski znaczy zapytania zbieżne z językiem programowania lub krócej zintegrowany język zapytań.
W dzisiejszym „informatycznym świecie” przeważająca większość aplikacji korzysta z relacyjnych baz danych, są one w zasadzie standardem a co za tym idzie obecność języka SQL. LINQ to nowe podejście do kwestii łączenia ze źródłami danych. Jego funkcjonalność jest znacznie rozszerzona i umożliwia odpytywanie obiektów, jako źródeł danych. Składnia zapytań LINQ przypomina budowanie zapytań w języku SQL ale jednocześnie uniezależnia aplikację od konkretnego źródła danych. Najważniejsze technologie LINQ to LINQ to Objects, LINQ to XML i LINQ to SQL i właśnie na tych zagadnieniach skupimy się w niniejszym kursie.
Poniżej standardowe (niektóre, najczęściej używane) operatory LINQ.
Nazwa operatora | Wyjaśnienie działania operatora |
Select | Operator jest wykorzystywany do pobrania odpowiednich (wybranych przez nas) danych ze źródła danych. |
SelectMany | Obieranie danych w przypadki relacji jeden-do-wielu np. gdy obiekt który pobieramy z kolekcji posiada inną kolekcję. |
Where | Operator służy do określenia warunków filtrowania. Jeżeli obiekt ze źródła danych nie pasuje do zadanych reguł filtrowania nie będzie pobrany w zapytaniu. |
Count | Operator służy do zliczenia elementów kolekcji. |
Max | Operator służy do otrzymania wartości maksymalnej (np. znalezienie najstarszego pracownika w firmie). |
Min | Operator służy do otrzymania wartości minimalnej (np. znalezienie najmniej zarabiającego pracownika w firmie). |
Sum | Operator służy do otrzymania sumy wybranych wartości (np. suma pensji wszystkich pracowników w dziale). |
OrderBy | Operator służy do sortowania wyników zapytania według zadanego kryterium (np. sortowanie listy pracowników po nazwisku lub po wielkości pensji itp). |
First | Operator służy do zwrócenia pierwszego elementu kolekcji. |
FirstOrDefault | Operator służy do zwrócenia pierwszego elementu kolekcji bądź NULL, jeżeli kolekcja jest pusta. |
Last | Operator służy do zwrócenia ostatniego elementu kolekcji. |
LastOrDefault | Operator służy do zwrócenia ostatniego elementu kolekcji bądź NULL, jeżeli kolekcja jest pusta. |
Single | Operator służy do zwrócenia pojedynczego elementu kolekcji (wg zadanych kryteriów). |
GroupBy | Operator służy do grupowania elementów w zapytaniu. |
Join | Operator służy do łączenia dwóch zbiorów danych niekoniecznie o takiej samej strukturze encji. |
Skip | Operator służy do pomijania elementów. |
All | Operator służy do sprawdzenia czy wszystkie elementy kolekcji spełniają zadany warunek. |
Any | Operator służy do sprawdzenia czy którykolwiek element kolekcji spełnia zadany warunek. |
Contains | Operator służy do sprawdzenia czy w wyniku zapytania znajduje się konkretny obiekt. |
Concat | Operator wykorzystujemy do operacji na zbiorach. Służy do łączenia np. dwóch kolekcji (nowy zbiór zawiera wszystkie elementy jednego i drugiego zbioru; gdy w obu zbiorach istnieją takie same elementy nowy zbiór także będzie zawierał duplikaty). |
Distinct | Operator służy do usuwania duplikatów (zdublowanych elementów). |
Except | Operator wykorzystujemy do operacji na zbiorach. Służy do |
Union | Operator wykorzystujemy do operacji na zbiorach. Służy do łączenia np. dwóch kolekcji z wyłączeniem duplikatów. |