Dynamic LINQ

1,237 views
1,212 views

Published on

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,237
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Dynamic LINQ

  1. 1. Dynamic LINQ<br />Martin Hey<br />21.07.2010<br />Communardo Software GmbH<br />
  2. 2. 2<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />im .NET-Framework integrierte Abfragesprache<br />erlaubt typsichere Abfragen<br />SQL-ähnliche Syntax<br />Beispiele:<br />LINQ To Objects – was ist das?<br />
  3. 3. 3<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />wird bereits zur Entwurfszeit auf Korrektheit geprüft<br />erlaubt typsichere Abfragen auch über komplexe Objektstrukturen, z.B. durch Aggregierung, Projektion, Joins, Berechnungen etc.<br />LINQ To Objects – was ist das?<br />
  4. 4. 4<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />wird über Extension-Methods realisiert<br />LINQ To Objects – was ist das?<br />
  5. 5. 5<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />Use-Case: Die Anwender sollen selbst im User-Interface definieren können, nach welchen Attributen die anzuzeigenden Objekte gefiltert und sortiert werden sollen.<br />eines der großen Pro‘s von LINQ wird zum „Verhängnis“ – die Typsicherheit<br />Warum dynamisch?<br />
  6. 6. 6<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />LINQ Queries sind aufgebaut als sog. Expression-Tree<br />visualisierbar z.B. mit Expression Tree Viewer (http://sourceforge.net/projects/exprview/)<br />Dynamisch… aber wie?<br />
  7. 7. 7<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />Liste von Objekten vom Typ „Restaurant“<br />dynamische Filterung und Sortierung der Daten nach vom Anwender gewählten Kriterien<br />dynamischer Aufbau des ExpressionTrees<br />ggf. per Reflection mögliche Kriterien ermitteln <br />Visualisierung der Ergebnisse in einem Grid<br />Was ist zu tun?<br />
  8. 8. 8<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />   jetzt wird programmiert   <br />Demo<br />
  9. 9. 9<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />LINQ Dynamic Query Libraryhttp://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx<br />Was gibt‘s noch?<br />
  10. 10. Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />10<br />
  11. 11. 11<br />Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany<br />info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0<br />25.08.2010<br />Einführung in die Windows Phone 7 Entwicklung (Martin Hey)<br />ggf. Buildmanagement, Branching- und Merging-Strategien mit dem TFS (Robert Mühsig)<br />22.09.2010<br />ASP.NET MVC DeepDive (Albert Weinert)<br />Nächste Termine<br />

×