dive into linq
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 PresentationTRANSCRIPT
![Page 1: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/1.jpg)
dive into linqivan towlsonmindscape
![Page 2: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/2.jpg)
imagine there’s no sql
![Page 3: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/3.jpg)
three worlds
![Page 4: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/4.jpg)
ObjectsXMLRelational
![Page 5: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/5.jpg)
ObjectsXMLRelationalWeb ServicesNoSQL
![Page 6: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/6.jpg)
ObjectsXMLRelationalWeb ServicesNoSQLWMIEmail
![Page 7: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/7.jpg)
ObjectsXMLRelationalWeb ServicesNoSQLWMIEmail
three worlds…for large values of three
![Page 8: dive into linq](https://reader035.vdocument.in/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.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/9.jpg)
linqlanguage integrated query
![Page 10: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/10.jpg)
language syntax
standard query operators
query implementation framework
![Page 11: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/11.jpg)
language syntax
standard query operators
query implementation framework
![Page 12: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/12.jpg)
putting the lin into linq
![Page 13: dive into linq](https://reader035.vdocument.in/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.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/14.jpg)
![Page 15: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/15.jpg)
language syntax
standard query operators
query implementation framework
![Page 16: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/16.jpg)
language syntax
standard query operators
query implementation framework
![Page 17: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/17.jpg)
when syntax runs out
![Page 18: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/18.jpg)
everything is query operators
![Page 19: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/19.jpg)
language syntax
standard query operators
query implementation framework
![Page 20: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/20.jpg)
language syntax
standard query operators
query implementation framework
![Page 21: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/21.jpg)
I plan to query overONE… MILLION… OBJECTS!
![Page 22: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/22.jpg)
what is the meaning ofx.Select(…)?
![Page 23: dive into linq](https://reader035.vdocument.in/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.vdocument.in/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.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/25.jpg)
IQueryable<T> x;Queryable.Select(x, …)
![Page 26: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/26.jpg)
Table<T> x;Queryable.Select(x, …)
![Page 27: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/27.jpg)
Queryable
IQueryProvider
SQL Entities LightSpeed NH ….
![Page 28: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/28.jpg)
Queryable
IQueryProvider
SQL Entities LightSpeed NH ….
![Page 29: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/29.jpg)
Queryable
IQueryProvider
SQL Entities LightSpeed NH ….
![Page 30: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/30.jpg)
Expression tree
IQueryable
.Provider
Native query
![Page 31: dive into linq](https://reader035.vdocument.in/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.vdocument.in/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.vdocument.in/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.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/34.jpg)
Expression tree
IQueryable
.Provider
Native query
![Page 35: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/35.jpg)
language syntax
standard query operators
query implementation framework
![Page 36: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/36.jpg)
language syntax
standard query operators
query implementation framework
![Page 37: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/37.jpg)
thinking in linq
![Page 38: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/38.jpg)
what is a query?
![Page 39: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/39.jpg)
what is a query?extract, transform and load
![Page 40: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/40.jpg)
what is a query?‘what am i interested in’
![Page 41: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/41.jpg)
i am interested in…drag and drop
![Page 42: dive into linq](https://reader035.vdocument.in/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.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/43.jpg)
ObjectsXMLRelationalalmostanythingactually…
![Page 44: dive into linq](https://reader035.vdocument.in/reader035/viewer/2022081505/56815e49550346895dccc08e/html5/thumbnails/44.jpg)
ObjectsXMLRelationalalmostanythingactually…
“queries should just ‘be there,’like for loops”
anders hejlsberg