Rozdział 10. LINQ

LINQ — ang. Language Integrated Query (zintegrowany język zapytań) — jest kolekcją narzędzi o potężnych możliwościach, służącą do operowania na zbiorach informacji. Może się ona okazać przydatna we wszystkich aplikacjach, które muszą operować na wielu danych (czyli praktycznie we wszystkich). Choć jednym z jej pierwotnych celów było zapewnienie prostego dostępu do relacyjnych baz danych, to jednak LINQ można używać do operowania na wielu rodzajach informacji. Na przykład można jej także używać do operowania na modelach obiektów przechowywanych w pamięci, usługach informacyjnych dostępnych za pośrednictwem protokołu HTTP, danych w formacie JSON oraz dokumentach XML.

LINQ nie jest pojedynczą możliwością. Jej działanie bazuje na kilku współpracujących ze sobą elementach języka. Najbardziej ukrytą z tych możliwości są wyrażenia zapytań (ang. query expression); jest to pewna forma wyrażeń, które w dość luźny sposób przypominają zapytania baz danych, lecz pozwalają wykonywać zapytania na dowolnych danych, w tym także na zwyczajnych obiektach. Jak się niebawem przekonasz, wyrażenia zapytań w znacznym stopniu bazują na innych możliwościach języka C#, takich jak wyrażenia lambda, metody rozszerzeń oraz modele obiektów wyrażeń.

Odpowiednie wsparcie ze strony języka to tylko połowa sukcesu. Do implementacji zbioru podstawowych możliwości zapytań LINQ potrzebuje bibliotek klas nazywanych operatorami LINQ (ang. LINQ operators). Każdy rodzaj danych wymaga odrębnej implementacji ...

Get C# 8.0. now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.