dive into linq
description
Transcript of dive into linq
![Page 1: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/1.jpg)
dive into linqivan towlsonmindscape
![Page 2: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/2.jpg)
imagine there’s no sql
![Page 3: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/3.jpg)
three worlds
![Page 4: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/4.jpg)
ObjectsXMLRelational
![Page 5: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/5.jpg)
ObjectsXMLRelationalWeb ServicesNoSQL
![Page 6: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/6.jpg)
ObjectsXMLRelationalWeb ServicesNoSQLWMIEmail
![Page 7: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/7.jpg)
ObjectsXMLRelationalWeb ServicesNoSQLWMIEmail
three worlds…for large values of three
![Page 8: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/8.jpg)
“queries should just ‘be there,’like for loops”
anders hejlsberg
![Page 9: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/9.jpg)
linqlanguage integrated query
![Page 10: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/10.jpg)
language syntax
standard query operators
query implementation framework
![Page 11: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/11.jpg)
language syntax
standard query operators
query implementation framework
![Page 12: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/12.jpg)
putting the lin into linq
![Page 13: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/13.jpg)
LINQ…
…to Objects
IEnumerable
…to XML
XDocumentfamily
…to SQL
Table<T>SQL Server
![Page 14: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/14.jpg)
![Page 15: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/15.jpg)
language syntax
standard query operators
query implementation framework
![Page 16: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/16.jpg)
language syntax
standard query operators
query implementation framework
![Page 17: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/17.jpg)
when syntax runs out
![Page 18: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/18.jpg)
everything is query operators
![Page 19: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/19.jpg)
language syntax
standard query operators
query implementation framework
![Page 20: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/20.jpg)
language syntax
standard query operators
query implementation framework
![Page 21: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/21.jpg)
I plan to query overONE… MILLION… OBJECTS!
![Page 22: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/22.jpg)
what is the meaning ofx.Select(…)?
![Page 23: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/23.jpg)
what is the meaning ofx.Select(…)?
IEnumerable<T> x;
IQueryable<T> x;
![Page 24: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/24.jpg)
what is the meaning ofx.Select(…)?
IEnumerable<T> x;Enumerable.Select(x, …)
IQueryable<T> x;Queryable.Select(x, …)
![Page 25: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/25.jpg)
IQueryable<T> x;Queryable.Select(x, …)
![Page 26: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/26.jpg)
Table<T> x;Queryable.Select(x, …)
![Page 27: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/27.jpg)
Queryable
IQueryProvider
SQL Entities LightSpeed NH ….
![Page 28: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/28.jpg)
Queryable
IQueryProvider
SQL Entities LightSpeed NH ….
![Page 29: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/29.jpg)
Queryable
IQueryProvider
SQL Entities LightSpeed NH ….
![Page 30: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/30.jpg)
Expression tree
IQueryable
.Provider
Native query
![Page 31: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/31.jpg)
xs.Where(…).Select(…) Table<X>
SELECT …FROM X
WHERE …
linq to sql
![Page 32: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/32.jpg)
xs.Where(…)
.Select(…)Query<X> Find<X>(qx)
linq to lightspeed
![Page 33: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/33.jpg)
xs.Where(…).Select(…) WmiQuery<X> WqlObjectQuer
y
linq to wmi
![Page 34: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/34.jpg)
Expression tree
IQueryable
.Provider
Native query
![Page 35: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/35.jpg)
language syntax
standard query operators
query implementation framework
![Page 36: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/36.jpg)
language syntax
standard query operators
query implementation framework
![Page 37: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/37.jpg)
thinking in linq
![Page 38: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/38.jpg)
what is a query?
![Page 39: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/39.jpg)
what is a query?extract, transform and load
![Page 40: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/40.jpg)
what is a query?‘what am i interested in’
![Page 41: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/41.jpg)
i am interested in…drag and drop
![Page 42: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/42.jpg)
i am interested in…a mouse down
followed by mouse movesuntil i get a mouse up
![Page 43: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/43.jpg)
ObjectsXMLRelationalalmostanythingactually…
![Page 44: dive into linq](https://reader035.fdocuments.net/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/44.jpg)
ObjectsXMLRelationalalmostanythingactually…
“queries should just ‘be there,’like for loops”
anders hejlsberg