Dynamic LINQ



Martin Hey
Communardo Software GmbH
21.07.2010
LINQ To Objects – was ist das?

 im .NET-Framework integrierte Abfragesprache
 erlaubt typsichere Abfragen
 SQL-ähnlich...
LINQ To Objects – was ist das?

 wird bereits zur Entwurfszeit auf Korrektheit geprüft
 erlaubt typsichere Abfragen auch...
LINQ To Objects – was ist das?

 wird über Extension-Methods realisiert




     Communardo Software GmbH · Kleiststraße ...
Warum dynamisch?

 Use-Case: Die Anwender sollen selbst im User-
  Interface definieren können, nach welchen Attributen
 ...
Dynamisch… aber wie?

 LINQ Queries sind aufgebaut als sog. Expression-
  Tree
 visualisierbar z.B. mit Expression Tree ...
Was ist zu tun?

 Liste von Objekten vom Typ
  „Restaurant“
 dynamische Filterung und Sortierung der
  Daten nach vom An...
Demo




                               jetzt wird programmiert   




    Communardo Software GmbH · Kleiststraße 1...
Was gibt‘s noch?

 LINQ Dynamic Query Library
  http://weblogs.asp.net/scottgu/archive/2008/01/07/d
  ynamic-linq-part-1-...
Vielen Dank
                                                                               für Eure
                      ...
Nächste Termine

 25.08.2010
        Einführung in die Windows Phone 7 Entwicklung (Martin Hey)
        ggf. Buildmanag...
Upcoming SlideShare
Loading in …5
×

Dynamic linq

1,330 views
1,284 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,330
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Dynamic linq

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

×