Top Banner
LINQ Language Integrated Query Krzysztof Kulewski, 2008
38

LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Mar 01, 2019

Download

Documents

trandieu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

LINQLanguage Integrated Query

Krzysztof Kulewski, 2008

Page 2: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Podstawy

Page 3: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Podstawy

• Wymowa: ,,link”

Page 4: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Podstawy

• Wymowa: ,,link”

• Część .NET Framework 3.5

Page 5: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Podstawy

• Wymowa: ,,link”

• Część .NET Framework 3.5

• Visual Studio 2008 (Orcas)

Page 6: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Podstawy

• Wymowa: ,,link”

• Część .NET Framework 3.5

• Visual Studio 2008 (Orcas)

• Składnia zaczerpnięta z SQL

Page 7: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Stare dobre listy...

Page 8: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Stare dobre listy...

• Prezentacja...

Page 9: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Uniwersalność

Page 10: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Uniwersalność• LINQ to Objects

Page 11: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Uniwersalność• LINQ to Objects

• LINQ to XML

Page 12: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Uniwersalność• LINQ to Objects

• LINQ to XML

• LINQ to SQL

Page 13: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Uniwersalność• LINQ to Objects

• LINQ to XML

• LINQ to SQL

• LINQ to Amazon

Page 14: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Uniwersalność• LINQ to Objects

• LINQ to XML

• LINQ to SQL

• LINQ to Amazon

• LINQ to Flickr

Page 15: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Operatory

Page 16: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Operatory• Select, Select Many

• Where

• Join

• Take, Skip

• OrderBy

• GroupBy

• Distinct

• Union, Intersect, Except

• Single

• Any, All, Contains

• Count

Page 17: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

LINQ to Objects

Page 18: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

LINQ to Objects

• Prezentacja...

Page 19: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

LINQ to SQL + ORM

Page 20: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

LINQ to SQL + ORM

• MS SQL 2005, 2000 (ale: Cross apply)

Page 21: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

LINQ to SQL + ORM

• MS SQL 2005, 2000 (ale: Cross apply)

• MySql

Page 22: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

LINQ to SQL + ORM

• MS SQL 2005, 2000 (ale: Cross apply)

• MySql

• PostgreSQL

Page 23: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

LINQ to SQL + ORM

• MS SQL 2005, 2000 (ale: Cross apply)

• MySql

• PostgreSQL

• Oracle

Page 24: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

LINQ to SQL + ORM

• MS SQL 2005, 2000 (ale: Cross apply)

• MySql

• PostgreSQL

• Oracle

• Prezentacja...

Page 25: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

LINQ to XML

Page 26: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

LINQ to XML

• Imitacja XQuery

Page 27: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

LINQ to XML

• Imitacja XQuery

• Prezentacja...

Page 28: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

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 29: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Rozszerzalność

Page 30: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Rozszerzalność

• LINQ to Amazon

Page 31: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Rozszerzalność

• LINQ to Amazon

• LINQ to Flickr

Page 32: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Rozszerzalność - c.d.

Page 33: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Rozszerzalność - c.d.• Interfejsy:

• IQueryable<T>

• IOrderedQueryable<T>

• IQueryProvider

Page 34: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Rozszerzalność - c.d.• Interfejsy:

• IQueryable<T>

• IOrderedQueryable<T>

• IQueryProvider

• Mechanizm

Page 35: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Rozszerzalność - c.d.• Interfejsy:

• IQueryable<T>

• IOrderedQueryable<T>

• IQueryProvider

• Mechanizm

• Parsowanie, drzewo wyrażenia ,,gratis”

Page 36: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

LoximQ

Page 37: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

LoximQ

• Prezentacja...

Page 38: LINQ - Krzysztof Stencelstencel.mimuw.edu.pl/sem/sbd1/linq.pdf · • Składnia zaczerpnięta z SQL. ... Uniwersalność • LINQ to Objects • LINQ to XML • LINQ to SQL • LINQ

Koniec :)

<< Brawa :P >>