dynamic linq
DESCRIPTION
TRANSCRIPT
![Page 1: Dynamic linq](https://reader036.vdocuments.pub/reader036/viewer/2022073116/54c31ac24a795913608b458d/html5/thumbnails/1.jpg)
Dynamic LINQ
Martin Hey
21.07.2010
Communardo Software GmbH
![Page 2: Dynamic linq](https://reader036.vdocuments.pub/reader036/viewer/2022073116/54c31ac24a795913608b458d/html5/thumbnails/2.jpg)
2Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany
[email protected] · www.communardo.de · Tel. +49 (351) 8 33 82-0
im .NET-Framework integrierte Abfragesprache
erlaubt typsichere Abfragen
SQL-ähnliche Syntax
Beispiele:
LINQ To Objects – was ist das?
![Page 3: Dynamic linq](https://reader036.vdocuments.pub/reader036/viewer/2022073116/54c31ac24a795913608b458d/html5/thumbnails/3.jpg)
3Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany
[email protected] · www.communardo.de · Tel. +49 (351) 8 33 82-0
wird bereits zur Entwurfszeit auf Korrektheit geprüft
erlaubt typsichere Abfragen auch über komplexe
Objektstrukturen, z.B. durch Aggregierung,
Projektion, Joins, Berechnungen etc.
LINQ To Objects – was ist das?
![Page 4: Dynamic linq](https://reader036.vdocuments.pub/reader036/viewer/2022073116/54c31ac24a795913608b458d/html5/thumbnails/4.jpg)
4Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany
[email protected] · www.communardo.de · Tel. +49 (351) 8 33 82-0
wird über Extension-Methods realisiert
LINQ To Objects – was ist das?
![Page 5: Dynamic linq](https://reader036.vdocuments.pub/reader036/viewer/2022073116/54c31ac24a795913608b458d/html5/thumbnails/5.jpg)
5Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany
[email protected] · www.communardo.de · Tel. +49 (351) 8 33 82-0
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
Warum dynamisch?
![Page 6: Dynamic linq](https://reader036.vdocuments.pub/reader036/viewer/2022073116/54c31ac24a795913608b458d/html5/thumbnails/6.jpg)
6Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany
[email protected] · www.communardo.de · Tel. +49 (351) 8 33 82-0
LINQ Queries sind aufgebaut als sog. Expression-
Tree
visualisierbar z.B. mit Expression Tree Viewer
(http://sourceforge.net/projects/exprview/)
Dynamisch… aber wie?
![Page 7: Dynamic linq](https://reader036.vdocuments.pub/reader036/viewer/2022073116/54c31ac24a795913608b458d/html5/thumbnails/7.jpg)
7Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany
[email protected] · www.communardo.de · Tel. +49 (351) 8 33 82-0
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
Was ist zu tun?
![Page 8: Dynamic linq](https://reader036.vdocuments.pub/reader036/viewer/2022073116/54c31ac24a795913608b458d/html5/thumbnails/8.jpg)
8Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany
[email protected] · www.communardo.de · Tel. +49 (351) 8 33 82-0
jetzt wird programmiert
Demo
![Page 9: Dynamic linq](https://reader036.vdocuments.pub/reader036/viewer/2022073116/54c31ac24a795913608b458d/html5/thumbnails/9.jpg)
9Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany
[email protected] · www.communardo.de · Tel. +49 (351) 8 33 82-0
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
Was gibt‘s noch?
![Page 10: Dynamic linq](https://reader036.vdocuments.pub/reader036/viewer/2022073116/54c31ac24a795913608b458d/html5/thumbnails/10.jpg)
Vielen Dank
für Eure
Aufmerk-
samkeit.
Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany
[email protected] · www.communardo.de · Tel. +49 (351) 8 33 82-010
![Page 11: Dynamic linq](https://reader036.vdocuments.pub/reader036/viewer/2022073116/54c31ac24a795913608b458d/html5/thumbnails/11.jpg)
11Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany
[email protected] · www.communardo.de · Tel. +49 (351) 8 33 82-0
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)
Nächste Termine