LINQ w C# -czytelny kod, wydajne zapytania
- Opis
- Program
- Najczęściej zadawane pytania
- Recenzje
Ten kurs poświęcony jest programowaniu w języku C#, ze szczególnym naciskiem na LINQ (Language Integrated Query) – narzędzie, które stało się nieodzowną częścią codziennej pracy programisty .NET.
W trakcie kursu poznasz nie tylko składnię LINQ, ale przede wszystkim mechanizmy języka C#, które umożliwiają jego działanie. Omówimy takie zagadnienia jak metody rozszerzeń, wyrażenia lambda oraz ich zastosowanie zarówno w LINQ, jak i poza nim. Dzięki temu zdobędziesz wiedzę przydatną w całym ekosystemie C#, niezależnie od tego, czy w danym momencie używasz LINQ.
Kurs opiera się na realistycznych przykładach. Będziemy pracować na większych zbiorach danych, analizując m.in. dane dotyczące zużycia paliwa w samochodach. Nauczysz się:
- filtrować, sortować i projektować dane,
- łączyć wiele źródeł danych,
- grupować i agregować informacje w celu uzyskania statystyk zbiorczych,
- świadomie korzystać z mechanizmu odroczonego wykonania (deferred execution).
Szczególną uwagę poświęcimy wydajności zapytań LINQ oraz typowym pułapkom, które mogą prowadzić do nieoczekiwanych błędów lub spadków performance’u. Podzielę się również praktycznymi wskazówkami i dobrymi praktykami, które wynikają z wieloletniego doświadczenia.
W dalszej części kursu zobaczysz, jak LINQ działa w połączeniu z innymi źródłami danych – od plików XML, po relacyjne bazy danych z wykorzystaniem Entity Framework i Microsoft SQL Server.
Po ukończeniu kursu będziesz w stanie świadomie i efektywnie używać LINQ w swoich aplikacjach, rozwiązując złożone problemy przy użyciu zwięzłego, czytelnego i łatwego w utrzymaniu kodu.
Czego się nauczysz
- jak działa LINQ i jakie mechanizmy C# stoją za jego funkcjonowaniem,
- tworzyć i wykorzystywać metody rozszerzeń oraz wyrażenia lambda,
- filtrować, sortować i projektować dane przy użyciu LINQ,
- łączyć, grupować i agregować dane z wielu źródeł,
- rozumieć i kontrolować mechanizm odroczonego wykonania,
- pisać wydajne zapytania LINQ i unikać typowych problemów performance’owych,
- korzystać z LINQ w pracy z kolekcjami, XML oraz bazami danych (Entity Framework + SQL Server).
Dla kogo jest ten kurs
- dla programistów C#, którzy chcą lepiej zrozumieć i efektywnie wykorzystywać LINQ,
- dla juniorów i midów, którzy używają LINQ, ale chcą pisać bardziej świadomy i czytelny kod,
- dla developerów .NET pracujących z Entity Framework i bazami danych,
- dla osób, które chcą poprawić jakość, wydajność i utrzymanie swojego kodu.
Wymagania
- podstawowa znajomość języka C#,
- zrozumienie typów generycznych (generics),
- podstawowa wiedza o kolekcjach w .NET.
Znajomość LINQ nie jest wymagana – kurs prowadzi od fundamentów do praktycznych zastosowań. W razie potrzeby możesz również uzupełnić wiedzę z C# w dedykowanych kursach.
-
6Wprowadzenie04:23
-
7Dlaczego IEnumerable to serce LINQ12:42
-
8Metody rozszerzające – jak LINQ „wchodzi” do C#15:48
-
9Wyrażenia lambda – czytelny kod zamiast pętli16:34
-
10Func, Action i delegaty w LINQ17:34
-
11Var – kiedy pomaga, a kiedy szkodzi10:09
-
12Query syntax vs Method syntax – świadomy wybór15:19
-
13Podsumowanie01:56
-
14Wprowadzenie00:48
-
15Budowa własnego filtra LINQ13:55
-
16Odroczone wykonanie – kluczowa koncepcja14:26
-
17Jak działa deferred execution03:54
-
18Kiedy odroczone wykonanie jest zaletą14:22
-
19Najczęstsze pułapki deferred execution08:48
-
20Wyjątki a odroczone zapytania07:39
-
21Operatory strumieniowe11:06
-
22Zapytania nieskończone – teoria i praktyka09:57
-
23Podsumowanie01:10
-
24Wprowadzenie05:22
-
25Przetwarzanie plików CSV z użyciem LINQ02:30
-
26Wczytywanie danych – implementacja16:27
-
27Wczytywanie danych – query syntax04:22
-
28Sortowanie danych14:09
-
29Filtrowanie danych17:31
-
30Any, All, Contains – kiedy i dlaczego06:54
-
31Prezentacja danych wynikowych18:04
-
32SelectMany – spłaszczanie struktur09:52
-
33Podsumowanie01:07
-
34Wprowadzenie05:46
-
35Łączenie danych – query syntax13:47
-
36Łączenie danych – method syntax15:25
-
37Join po kluczu złożonym05:34
-
38Grupowanie danych14:55
-
39GroupJoin – model danych hierarchicznych14:46
-
40Grupowanie – ćwiczenie praktyczne08:50
-
41Agregacja danych - query syntax10:42
-
42Agregacja danych - method syntax04:54
-
43Podsumowanie00:53
