the linq project
Download
Skip this Video
Download Presentation
The LINQ Project

Loading in 2 Seconds...

play fullscreen
1 / 13

The LINQ Project - PowerPoint PPT Presentation


  • 137 Views
  • Uploaded on

The LINQ Project. Rafał Skoczylas. Plan prezentacji. Co to jest LINQ? Przykłady Podsumowanie LINQ-i ;). Co to jest LINQ? (1/2). W tradycyjnym podejściu: zapytania SQL pisze się w cudzysłowach brak sprawdzania poprawności w czasie kompilacji brak mocnego typowania

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'The LINQ Project' - cato


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
the linq project

The LINQ Project

Rafał Skoczylas

plan prezentacji
Plan prezentacji
  • Co to jest LINQ?
  • Przykłady
  • Podsumowanie
  • LINQ-i ;)
co to jest linq 1 2
Co to jest LINQ? (1/2)
  • W tradycyjnym podejściu:
    • zapytania SQL pisze się w cudzysłowach
    • brak sprawdzania poprawności w czasie kompilacji
    • brak mocnego typowania
    • brak podpowiadania kodu (IntelliSense itp.)
    • i wiele innych braków oraz problemów
co to jest linq 2 2
Co to jest LINQ? (2/2)
  • LINQ - Language INtegrated Query – nowy projekt Andersa Hejlsberga
  • Zapytania stają się częścią języka
  • Zunifikowany sposób dostępu do
    • Obiektów (IEnumerable)
    • Baz Danych
    • XML
przyk ad kolekcje i zapytania
Przykład: Kolekcje i zapytania

using System.Query;

[...]

Student[] students = School.GetStudents();

// query methods

var q1 = students.

where(s => s.Age ==23).

select(s => s.Name);

// query expressions

var q2 = fromsinstudents

wheres.Age ==23

selects.Name;

przyk ad projekcje
Przykład: Projekcje

[...]

Student[] students = School.GetStudents();

var q1 = fromsinstudents

wheres.Avg>= 4.75

select newScholarship(s.AlbumNumber, s.Avg);

var q2 = fromsinstudents

wheres.Avg>= 4.75

select new { s.AlbumNumber, s.Avg };

foreach (var s in q2)

Console.WriteLine(s.AlbumNumber);

przyk ad baza danych
Przykład: Baza Danych

using System.Data.DLinq;

Northwind db = newNorthWind(@"F:\northwind.mdf");

var q = from c in db.Customers

where c.City == "London"

select c.CompanyName;

przyk ad xml 1 2
Przykład: XML (1/2)

using System.Xml.XLinq;

XElement e =

newXElement("LibraryList",

newXElement("Library",

new XAttribute("Name", "PJWSTK")

)

);

przyk ad xml 2a 2
Przykład: XML (2a/2)

using System.Xml.XLinq;

Student[] students = School.GetStudents();

XElement e = newXElement("Stypendia",

from s in students

where s.Avg >= 4.75

select newXElement("Student",

newXAttribute("NumerIndeksu", s.AlbumNumber),

newXAttribute("Średnia", s.Avg)

)

);

przyk ad tips and tricks
Przykład: Tips and Tricks

var q1 = fromcinthis.Controls

wherec.Enabled == false

selectc;

podsumowanie
Podsumowanie
  • Słuszny kierunek na przyszłość
  • Wiele mechanizmów zapożyczonych z innych technologii:
    • FoxPro
    • Ruby
    • Python
    • LISP
    • Delphi
linq i
LINQ-i ;)
  • The LINQ Projecthttp://msdn.microsoft.com/netframework/future/linq/
    • C# LINQ Tech Preview Update for Visual Studio 2005 RTM Release
    • C# 3.0 Language Specification
    • 101 LINQ Sampleshttp://msdn.microsoft.com/vcsharp/future/linqsamples/
  • Anders Hejlsberghttp://en.wikipedia.org/wiki/Anders_Hejlsberg
ad