Visual Studio – Technológia LINQ a jazyky C# a VB.NET

Cieľ kurzu: zoznámenie sa s technológiou LINQ, ktorá umožňuje jednoduchú prácu v prostredí .NET s objektovými aj neobjektovými dátami – bez nutnosti poznania príslušných dotazovacích jazykov. LINQ je syntaktickým rozšírením jazykov C# a VB.NET. Abstrahuje od dátových zdrojov, poskytujúc intuitívny, deklaratívny a uniformný interface ku kolekciám objektov, SQL databázam a XML dokumentom. Účastníci sa naučia, ako aplikovať túto technológiu v reálnych aplikáciách, spolu s benefitmi vyplývajúcimi z jej použitia pre nich – najmä zvýšenej produktivity v práci. Na záver si prejdeme aj jeho rozšírenie pre paralelné spracovanie – PLINQ, ako aj ďalšie možnosti použitia v súvisiacich technológiách.

Vstupné požiadavky: skúsenosti s vývojom aplikácií na platforme .NET v jazyku C# alebo VB.NET, základy dotazovania sa v jazyku SQL

Trvanie: 2 dni

Obsahová náplň:

Úvod do LINQu

  • LINQ a prístup k dátam
  • Štandardné operátory dotazov
  • Query Expressions
  • Rozšíriteľnosť
  • LINQ to Objects
  • Oneskorené vykonanie
  • LINQ to XML
  • Funkcionálna konštrukcia
  • Dotazovanie sa na XML
  • LINQ to SQL
  • LINQ to SQL Demo
  • Mapovanie LINQ to SQL
  • Entity Framework

LINQ, C# a VB.NET

  • Prehľad a história LINQu
  • Extension metódy
  • Operátory ako extension metódy
  • Funkcionálne programovanie s lambdami
  • Základy lambda výrazov
  • Vytváranie lambda výrazov
  • Volanie lambda výrazov
  • LINQ výrazy
  • Expression Trees
  • LINQ Remoting
  • Query Expressions
  • Syntax Query Comprehension
  • Type Inference  a kľúčové slovo var
  • Anonymné typy
  • Inicializéry
  • Partial metódy

LINQ dotazy

  • Štruktúra LINQ dotazov
  • Dvojitá syntax dotazov
  • Oneskorené vykonanie
  • Situácie vznikajúce pri oneskorenom vykonaní
  • Kľúčové slová let a into
  • Zoskupovanie
  • Zoskupovanie a projekcia
  • Vnorené dotazy
  • Joiny
  • Zoskupené a agregované joiny
  • Triedenie
  • Kompozícia
  • Dynamické dotazy
  • LINQPad
  • Volanie stored procedúr na SQL Serveri
  • Vkladanie, aktualizovanie a mazanie dát

Štandardné operátory LINQu

  • Definícia
  • Filtrovanie
  • Triedenie
  • Sety
  • Kvantifikátory
  • Projekcia
  • Projekcia one-to-many
  • Rozdelenie a separácia
  • Zlučovanie
  • Zoskupovanie
  • Generovanie
  • Rovnosť
  • Elementy
  • Konverzia
  • Konkatenácia
  • Agregácia

Paralelný LINQ – PLINQ

  • Úvod do paralelného LINQu
  • Lambda výrazy v PLINQu
  • Sparalelizovanie LINQ dotazov
  • Partitioning LINQ dotazov
  • Interface IParallelEnumerable
  • Na čo si dať pozor pri paralelnom LINQu
  • Kombinovanie sekvenčných a paralelných LINQ dotazov
  • Spracovanie výnimiek v paralelných dotazoch
  • Zrušenie spracovania paralelného dotazu
  • Meranie výkonu paralelných dotazov
  • Nastavenie vlastnej úrovne paralelizácie
  • Vlastné paralelné agregačné funkcie
  • Kontrola nad poradím spracovania
  • Vynútenie paralelizmu

Prehľad súvisiacich technológií

  • Práca s XML dátami pomocou „LINQ to XML“
  • Rozširovanie LINQu o ďalšie dátové zdroje
  • ADO.NET Entity Framework