dive into linq

45
dive into linq ivan towlson mindscape

Upload: usoa

Post on 14-Feb-2016

32 views

Category:

Documents


0 download

DESCRIPTION

dive into linq. ivan towlson mindscape. imagine there’s no sql. three worlds. three worlds… for large values of three. “queries should just ‘be there,’ like for loops” anders hejlsberg. linq l anguage in tegrated q uery. putting the lin into linq. when syntax runs out. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: dive into  linq

dive into linqivan towlsonmindscape

Page 2: dive into  linq

imagine there’s no sql

Page 3: dive into  linq

three worlds

Page 4: dive into  linq

ObjectsXMLRelational

Page 5: dive into  linq

ObjectsXMLRelationalWeb ServicesNoSQL

Page 6: dive into  linq

ObjectsXMLRelationalWeb ServicesNoSQLWMIEmail

Page 7: dive into  linq

ObjectsXMLRelationalWeb ServicesNoSQLWMIEmail

three worlds…for large values of three

Page 8: dive into  linq

“queries should just ‘be there,’like for loops”

anders hejlsberg

Page 9: dive into  linq

linqlanguage integrated query

Page 10: dive into  linq

language syntax

standard query operators

query implementation framework

Page 11: dive into  linq

language syntax

standard query operators

query implementation framework

Page 12: dive into  linq

putting the lin into linq

Page 13: dive into  linq

LINQ…

…to Objects

IEnumerable

…to XML

XDocumentfamily

…to SQL

Table<T>SQL Server

Page 14: dive into  linq
Page 15: dive into  linq

language syntax

standard query operators

query implementation framework

Page 16: dive into  linq

language syntax

standard query operators

query implementation framework

Page 17: dive into  linq

when syntax runs out

Page 18: dive into  linq

everything is query operators

Page 19: dive into  linq

language syntax

standard query operators

query implementation framework

Page 20: dive into  linq

language syntax

standard query operators

query implementation framework

Page 21: dive into  linq

I plan to query overONE… MILLION… OBJECTS!

Page 22: dive into  linq

what is the meaning ofx.Select(…)?

Page 23: dive into  linq

what is the meaning ofx.Select(…)?

IEnumerable<T> x;

IQueryable<T> x;

Page 24: dive into  linq

what is the meaning ofx.Select(…)?

IEnumerable<T> x;Enumerable.Select(x, …)

IQueryable<T> x;Queryable.Select(x, …)

Page 25: dive into  linq

IQueryable<T> x;Queryable.Select(x, …)

Page 26: dive into  linq

Table<T> x;Queryable.Select(x, …)

Page 27: dive into  linq

Queryable

IQueryProvider

SQL Entities LightSpeed NH ….

Page 28: dive into  linq

Queryable

IQueryProvider

SQL Entities LightSpeed NH ….

Page 29: dive into  linq

Queryable

IQueryProvider

SQL Entities LightSpeed NH ….

Page 30: dive into  linq

Expression tree

IQueryable

.Provider

Native query

Page 31: dive into  linq

xs.Where(…).Select(…) Table<X>

SELECT …FROM X

WHERE …

linq to sql

Page 32: dive into  linq

xs.Where(…)

.Select(…)Query<X> Find<X>(qx)

linq to lightspeed

Page 33: dive into  linq

xs.Where(…).Select(…) WmiQuery<X> WqlObjectQuer

y

linq to wmi

Page 34: dive into  linq

Expression tree

IQueryable

.Provider

Native query

Page 35: dive into  linq

language syntax

standard query operators

query implementation framework

Page 36: dive into  linq

language syntax

standard query operators

query implementation framework

Page 37: dive into  linq

thinking in linq

Page 38: dive into  linq

what is a query?

Page 39: dive into  linq

what is a query?extract, transform and load

Page 40: dive into  linq

what is a query?‘what am i interested in’

Page 41: dive into  linq

i am interested in…drag and drop

Page 42: dive into  linq

i am interested in…a mouse down

followed by mouse movesuntil i get a mouse up

Page 43: dive into  linq

ObjectsXMLRelationalalmostanythingactually…

Page 44: dive into  linq

ObjectsXMLRelationalalmostanythingactually…

“queries should just ‘be there,’like for loops”

anders hejlsberg

Page 45: dive into  linq

thanks!

[email protected]

[email protected]/flatlander