Page 1
LINQLanguage Integrated Query
Krzysztof Kulewski, 2008
Page 3
Podstawy
• Wymowa: ,,link”
Page 4
Podstawy
• Wymowa: ,,link”
• Część .NET Framework 3.5
Page 5
Podstawy
• Wymowa: ,,link”
• Część .NET Framework 3.5
• Visual Studio 2008 (Orcas)
Page 6
Podstawy
• Wymowa: ,,link”
• Część .NET Framework 3.5
• Visual Studio 2008 (Orcas)
• Składnia zaczerpnięta z SQL
Page 7
Stare dobre listy...
Page 8
Stare dobre listy...
• Prezentacja...
Page 10
Uniwersalność• LINQ to Objects
Page 11
Uniwersalność• LINQ to Objects
• LINQ to XML
Page 12
Uniwersalność• LINQ to Objects
• LINQ to XML
• LINQ to SQL
Page 13
Uniwersalność• LINQ to Objects
• LINQ to XML
• LINQ to SQL
• LINQ to Amazon
Page 14
Uniwersalność• LINQ to Objects
• LINQ to XML
• LINQ to SQL
• LINQ to Amazon
• LINQ to Flickr
Page 16
Operatory• Select, Select Many
• Where
• Join
• Take, Skip
• OrderBy
• GroupBy
• Distinct
• Union, Intersect, Except
• Single
• Any, All, Contains
• Count
Page 18
LINQ to Objects
• Prezentacja...
Page 19
LINQ to SQL + ORM
Page 20
LINQ to SQL + ORM
• MS SQL 2005, 2000 (ale: Cross apply)
Page 21
LINQ to SQL + ORM
• MS SQL 2005, 2000 (ale: Cross apply)
• MySql
Page 22
LINQ to SQL + ORM
• MS SQL 2005, 2000 (ale: Cross apply)
• MySql
• PostgreSQL
Page 23
LINQ to SQL + ORM
• MS SQL 2005, 2000 (ale: Cross apply)
• MySql
• PostgreSQL
• Oracle
Page 24
LINQ to SQL + ORM
• MS SQL 2005, 2000 (ale: Cross apply)
• MySql
• PostgreSQL
• Oracle
• Prezentacja...
Page 26
LINQ to XML
• Imitacja XQuery
Page 27
LINQ to XML
• Imitacja XQuery
• Prezentacja...
Page 28
Przyszłość - PLINQ
List<int> data = new List<int>() {1, 2, 3, 4};
var q = from x in data where p(x) orderby k(x) select f(x);
var q = from x in data.AsParallel() where p(x) orderby k(x) select f(x);
Page 30
Rozszerzalność
• LINQ to Amazon
Page 31
Rozszerzalność
• LINQ to Amazon
• LINQ to Flickr
Page 32
Rozszerzalność - c.d.
Page 33
Rozszerzalność - c.d.• Interfejsy:
• IQueryable<T>
• IOrderedQueryable<T>
• IQueryProvider
Page 34
Rozszerzalność - c.d.• Interfejsy:
• IQueryable<T>
• IOrderedQueryable<T>
• IQueryProvider
• Mechanizm
Page 35
Rozszerzalność - c.d.• Interfejsy:
• IQueryable<T>
• IOrderedQueryable<T>
• IQueryProvider
• Mechanizm
• Parsowanie, drzewo wyrażenia ,,gratis”
Page 37
LoximQ
• Prezentacja...
Page 38
Koniec :)
<< Brawa :P >>