Your SlideShare is downloading. ×
0
Überblick LINQ



Marco Seraphin
MCP - MCAD - MCT




                   Seraphin@develope-it.de
                   Seraph...
Was ist .NET
l   Agenda

    Ø   Die Idee hinter Linq
    Ø   Die verschiedenen Varianten
    Ø   Kurze Syntax-Übersicht
 ...
Linq - Die Idee



   Daten != Objekte
Linq - Die Idee
l   Leistungsstarke Backend-Systeme
    Ø   DB, SAP, Exchange, SharePoint, BizTalk
l   Leistungsstarke Hoc...
Linq - Die Idee



 Imperativ         Deklaritiv

    Nicht wie, sondern was !
Linq - Die Idee
l   Auch Daten/Informationsbeschaffung
    innerhalb des Programms sehr
    „technisch“
foreach ()
{
 for ...
Linq - Die Idee


      Langugage
   INtegrated Query
Linq - Die Idee
  Ø   First-Level Erweiterung der .Net Sprachen
  Ø   Streng typisiert
  Ø   IntelliSense Unterstützung in...
Linq - Die Varianten
Linq - Die Varianten
l   Linq to Objects
    Ø   arbeitet auf IEnumerable
l   Linq to XML
    Ø   arbeitet auf XML Srtuktu...
Linq - Die Varianten
l   Linq to SharePoint
l   Linq to Amazon
l   Linq to NHibernate
l   Linq to Flickr
l   Linq to LDAP
...
Linq - Syntax
l   Beipiel Linq to Objects
public void Linq1() {
    int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
    ...
Linq - Demo



         Demo
     Linq to Objects
Linq - Syntax
l   Restriction : where
l   Grouping : group by
l   Ordering : orderby
l   Projection : select
Linq - Syntax
l   Quantifiers : Any, All
l   Aggregate : Count, Sum, Min, Max,
    Avergage, Fold
Linq - Syntax
l   Partitioning : Take, Skip, TakeWhile,
    SkipWhile
l   Set : Distinct, Union, Intersect, Except
l   Con...
Linq - Syntax
l   Beipiel Linq to SQL
MyDBContext dataContext = new MyDBContext();
var query = from kunde in dataContext.K...
Linq - Demo



         Demo
      Linq to SQL
Linq - Verzögerte Ausführung
l   Der Linq-Ausdruck wird erst beim
    Zugriff auf das Ergebnis tatsächlich
    ausgewertet...
Linq - Weitere Quellen
l   Linq Microsoft
    Ø   http://msdn.microsoft.com/data/ref/linq/
l   101 Linq Samples
    Ø   ht...
LINQ - Einheitlicher Datenzugriff in .NET
Upcoming SlideShare
Loading in...5
×

LINQ - Einheitlicher Datenzugriff in .NET

1,819

Published on

Auch mit Objektorientierung gibt es immer noch eine große Kluft zwischen Programmen, die in einer Hochsprache geschrieben wurden und den Daten, die diese Programme bearbeiten.
In Hochsprachen wie C# oder VB verwenden Entwickler spezialisierte Datentypen, Objekte, Methodenaufrufe und hochgradig optimierte Compiler, während beim Datenzugriff alles auf ein paar Strings reduziert wird, die SQL-Abfragen beinhalten.
Entwickler arbeiten hierbei mit zwei total unterschiedlichen Paradigmen (Syntax von SQL und der bevorzugten Programmiersprache) sowie Typsystemen und konvertieren also ständig Daten zwischen zwei verschiedenen Domänen. Diese Unstimmigkeit ist Ursache für menschliche Fehler und verschwendet Zeit.
LINQ ist Microsoft Antwort auf dieses Dilemma. Die Veranstaltung zeigt die Konzepte und Möglichkeiten der neuen .NET-Schnittstelle.

Die Idee hinter LINQ
Die verschiedenen Varianten
- LINQ to Objects
- LINQ to SQL
- LINQ to DataSet
- LINQ to XML
- LINQ to Entity
- LINQ to .....
Kurze Syntax-Übersicht
Praktische Beispiele LINQ To Objects
Kurz-Video LINQ to SQL
Fazit und Ausblick

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,819
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "LINQ - Einheitlicher Datenzugriff in .NET"

  1. 1. Überblick LINQ Marco Seraphin MCP - MCAD - MCT Seraphin@develope-it.de Seraphin@develope-
  2. 2. Was ist .NET l Agenda Ø Die Idee hinter Linq Ø Die verschiedenen Varianten Ø Kurze Syntax-Übersicht Ø Praktische Beispiele Ø Fazit und Ausblick
  3. 3. Linq - Die Idee Daten != Objekte
  4. 4. Linq - Die Idee l Leistungsstarke Backend-Systeme Ø DB, SAP, Exchange, SharePoint, BizTalk l Leistungsstarke Hochsprachen Ø C#, VB.Net, Java, Delphi Aber: Lücke bei der Datenbeschaffung im Bereich der Middleware Viel String-basiert, wenig typisiert (Connection- String, SQL Statement als String etc.)
  5. 5. Linq - Die Idee Imperativ Deklaritiv Nicht wie, sondern was !
  6. 6. Linq - Die Idee l Auch Daten/Informationsbeschaffung innerhalb des Programms sehr „technisch“ foreach () { for () { if (x == 5) { ... } } }
  7. 7. Linq - Die Idee Langugage INtegrated Query
  8. 8. Linq - Die Idee Ø First-Level Erweiterung der .Net Sprachen Ø Streng typisiert Ø IntelliSense Unterstützung in VS 2008.Net Ø Queries werden zur Laufzeit geprüft, nicht erst zur Ausführungszeit Ø Wiederverwendbarkeit von Queries (Zugriff auf Daten erfolgt erst zum Zeitpunkt auf das Ergebnis) Ø Verschiedene Ausprägungen (SQL, ADO, XML) Ø Erweiterbares Provider -Konzept (Linq-to- SharePoint, Linq-to-Amazon etc.)
  9. 9. Linq - Die Varianten
  10. 10. Linq - Die Varianten l Linq to Objects Ø arbeitet auf IEnumerable l Linq to XML Ø arbeitet auf XML Srtukturen l Linq to SQL Ø arbeitet auf SQL-Datenbanken Ø (Light-weight OR-Mapper) l Linq to Entities Ø ADO.Net Entity FrameWork
  11. 11. Linq - Die Varianten l Linq to SharePoint l Linq to Amazon l Linq to NHibernate l Linq to Flickr l Linq to LDAP l Linq to ....
  12. 12. Linq - Syntax l Beipiel Linq to Objects public void Linq1() { int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 }; var lowNums = from n in numbers where n < 5 select n; Console.WriteLine("Numbers < 5:"); foreach (var x in lowNums) { Console.WriteLine(x); } }
  13. 13. Linq - Demo Demo Linq to Objects
  14. 14. Linq - Syntax l Restriction : where l Grouping : group by l Ordering : orderby l Projection : select
  15. 15. Linq - Syntax l Quantifiers : Any, All l Aggregate : Count, Sum, Min, Max, Avergage, Fold
  16. 16. Linq - Syntax l Partitioning : Take, Skip, TakeWhile, SkipWhile l Set : Distinct, Union, Intersect, Except l Conversion : ToArray, ToList, ToDictionary, OfType l Element : First, FirstOrDefault, ElemtAt l Generation : Range, Repeat
  17. 17. Linq - Syntax l Beipiel Linq to SQL MyDBContext dataContext = new MyDBContext(); var query = from kunde in dataContext.Kunden where kunde.StartsWith('A') select new {kunde.Name, Kunde.Adresse}; foreach (var k in kunde) { listbox1.Items.Add(k.Name + " " + k.Adresse); }
  18. 18. Linq - Demo Demo Linq to SQL
  19. 19. Linq - Verzögerte Ausführung l Der Linq-Ausdruck wird erst beim Zugriff auf das Ergebnis tatsächlich ausgewertet Ø ==> Der Ausdruck kann daher wiederverwendet werd, auch wenn sich die Datenbasis geändert hat l Es können beliebig große Datenmengen verarbeitet werden, da nicht alle Daten gleichzeitig im Speicher sind
  20. 20. Linq - Weitere Quellen l Linq Microsoft Ø http://msdn.microsoft.com/data/ref/linq/ l 101 Linq Samples Ø http://msdn2.microsoft.com/en-us/vcsharp/aa336746.aspx l Scott Guthrie‘s Blog Ø http://weblogs.asp.net/scottgu/archive/tags/LINQ/default.aspx l Linq to Amazon Ø http://weblogs.asp.net/fmarguerie/archive/2006/06/26/Introducing-Linq-to- Amazon.aspx l Linq to SharePoint Ø http://www.codeplex.com/LINQtoSharePoint
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×