Slide 1

Slide 1 text

LINQ: A simple Introduction Fanie Reynders Technical Team Lead @FanieReynders

Slide 2

Slide 2 text

Agenda What is LINQ? LINQ Queries Examples Exploring a LINQ to * scenario

Slide 3

Slide 3 text

What is LINQ? LINQ (pronounced "link") - Language Integrated Query Microsoft .NET Framework component Extends powerful query capabilities to the language syntax in .NET Introduces standard, easily-learned patterns for querying and updating data Extendable

Slide 4

Slide 4 text

LINQ Queries: Overview 3 parts of a LINQ Query: // 1. Data source. int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 }; // 2. Query creation. // numQuery is an IEnumerable var numQuery = from num in numbers where (num % 2) == 0 select num; // 3. Query execution. foreach (int num in numQuery) { Console.Write("{0,1} ", num); }

Slide 5

Slide 5 text

LINQ Queries: Query operation Data source Query from... where... select... Execution foreach (int item in ) Query Return each item item Do something with item … Get next item

Slide 6

Slide 6 text

LINQ Queries: Data sources In memory o IEnumerable o IList o Array (or []) o ICollection Derived on-demand o IQueryable

Slide 7

Slide 7 text

LINQ Queries: Query structure From Join Group Where OrderBy Select

Slide 8

Slide 8 text

LINQ Queries: Comparison with SQL SELECT * FROM People AS p WHERE p.City = 'Johannesburg' ORDER BY p.Surname from p in People where p.City == "Johannesburg" orderby p.Surname select p; LINQ Query: SQL Query:

Slide 9

Slide 9 text

LINQ Queries: Using Lambdas var joburgPeople = from p in People where p.City == "Johannesburg" orderby p.Surname select p; Using Lamda Expressions: var joburgPeople = People.Where(p => p.City == "Johannesburg") .OrderBy(p => p.Surname) .Select(p => p);

Slide 10

Slide 10 text

Demo Time! #hopeitworks

Slide 11

Slide 11 text

LINQ to * Amazon Active Directory CSV Datasets Entities Excel Facebook Files Google Oracle RegEx SQL Twitter XML etc…

Slide 12

Slide 12 text

LINQ to *: Case study For the stock code “MSFT” we need to search Facebook for the people who likes it as well as Twitter for the followers of Microsoft, then combine it with all our customers under the age of 55 that lives in any of our operational areas including the latest price from NASDAQ. This information need to be merged, ordered by surname and grouped by age. We need to export it to an Excel Spreadsheet.

Slide 13

Slide 13 text

LINQ to *: Possibilities Facebook Twitter NASDAQ SQL XML Excel 1 1 1 3 2

Slide 14

Slide 14 text

Demo Time! Thank you