SlideShare ist ein Scribd-Unternehmen logo
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-ä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
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
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
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
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
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
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
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
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
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

Weitere ähnliche Inhalte

Was ist angesagt?

Enterprise mashups - Remix the Web. Create your own workplace.
Enterprise mashups - Remix the Web. Create your own workplace.Enterprise mashups - Remix the Web. Create your own workplace.
Enterprise mashups - Remix the Web. Create your own workplace.
tischmid
 
Knowledge Management and Microblogging?
Knowledge Management and Microblogging?Knowledge Management and Microblogging?
Knowledge Management and Microblogging?
Communardo GmbH
 
Erfahrungen beim Einsatz von Wikis, Blogs & Co. für das Wissensmanagement in ...
Erfahrungen beim Einsatz von Wikis, Blogs & Co. für das Wissensmanagement in ...Erfahrungen beim Einsatz von Wikis, Blogs & Co. für das Wissensmanagement in ...
Erfahrungen beim Einsatz von Wikis, Blogs & Co. für das Wissensmanagement in ...
Communardo GmbH
 
19-09 BGP-OSB.pdf
19-09 BGP-OSB.pdf19-09 BGP-OSB.pdf
Deutscher IT-Sicherheitskongress des BSI macht Senderreputation in der Mail-S...
Deutscher IT-Sicherheitskongress des BSI macht Senderreputation in der Mail-S...Deutscher IT-Sicherheitskongress des BSI macht Senderreputation in der Mail-S...
Deutscher IT-Sicherheitskongress des BSI macht Senderreputation in der Mail-S...
bhoeck
 

Was ist angesagt? (6)

Enterprise mashups - Remix the Web. Create your own workplace.
Enterprise mashups - Remix the Web. Create your own workplace.Enterprise mashups - Remix the Web. Create your own workplace.
Enterprise mashups - Remix the Web. Create your own workplace.
 
Knowledge Management and Microblogging?
Knowledge Management and Microblogging?Knowledge Management and Microblogging?
Knowledge Management and Microblogging?
 
Erfahrungen beim Einsatz von Wikis, Blogs & Co. für das Wissensmanagement in ...
Erfahrungen beim Einsatz von Wikis, Blogs & Co. für das Wissensmanagement in ...Erfahrungen beim Einsatz von Wikis, Blogs & Co. für das Wissensmanagement in ...
Erfahrungen beim Einsatz von Wikis, Blogs & Co. für das Wissensmanagement in ...
 
19-09 BGP-OSB.pdf
19-09 BGP-OSB.pdf19-09 BGP-OSB.pdf
19-09 BGP-OSB.pdf
 
Deutscher IT-Sicherheitskongress des BSI macht Senderreputation in der Mail-S...
Deutscher IT-Sicherheitskongress des BSI macht Senderreputation in der Mail-S...Deutscher IT-Sicherheitskongress des BSI macht Senderreputation in der Mail-S...
Deutscher IT-Sicherheitskongress des BSI macht Senderreputation in der Mail-S...
 
lebensl2016
lebensl2016lebensl2016
lebensl2016
 

Andere mochten auch

As. extensión forestal final
As. extensión forestal finalAs. extensión forestal final
As. extensión forestal final
Santiago JM Del Pozo Donoso
 
Cesar chavezamy
Cesar chavezamyCesar chavezamy
Cesar chavezamy
courtneylj2010
 
Opinionway pour GEMA : Les mamans qui assurent / Juin 2015
Opinionway pour GEMA : Les mamans qui assurent / Juin 2015Opinionway pour GEMA : Les mamans qui assurent / Juin 2015
Opinionway pour GEMA : Les mamans qui assurent / Juin 2015
contactOpinionWay
 
SISTEMA CIRCULATORIO
SISTEMA CIRCULATORIOSISTEMA CIRCULATORIO
SISTEMA CIRCULATORIO
edisondario
 
Trabajo 7 tecnicas de comunicacion
Trabajo 7 tecnicas de comunicacionTrabajo 7 tecnicas de comunicacion
Trabajo 7 tecnicas de comunicacion
jc0906
 
Presentacion ch3ko
Presentacion ch3koPresentacion ch3ko
Presentacion ch3ko
wdsdasdasdas
 
VO PAED Medienkulturforschung
VO PAED MedienkulturforschungVO PAED Medienkulturforschung
VO PAED Medienkulturforschung
Axel Maireder
 
Gimp2
Gimp2Gimp2
Gimp2
ramiandy
 
Vocaciones productivas regionales
Vocaciones productivas regionalesVocaciones productivas regionales
Vocaciones productivas regionales
Santiago JM Del Pozo Donoso
 
Internet
Internet Internet
Internet
panama
 
Subgrupo2
Subgrupo2Subgrupo2
Subgrupo2
jeycoga
 
Productividad
ProductividadProductividad
Productividad
Alirio Gonzalez
 
Productos Forestales No Madereros
Productos Forestales No MadererosProductos Forestales No Madereros
Productos Forestales No Madereros
Santiago JM Del Pozo Donoso
 
Diagnóstico Micro-Cuenca Río Purires
Diagnóstico Micro-Cuenca Río PuriresDiagnóstico Micro-Cuenca Río Purires
Diagnóstico Micro-Cuenca Río Purires
ComPurires
 
ComPurires Informe de trabajo 2010
ComPurires Informe de trabajo 2010ComPurires Informe de trabajo 2010
ComPurires Informe de trabajo 2010
ComPurires
 
Social Media - Dialog in Echtzeit
Social Media - Dialog in EchtzeitSocial Media - Dialog in Echtzeit
Social Media - Dialog in Echtzeit
Meral Akin-Hecke
 
Crea software
Crea softwareCrea software
Crea software
crystalcuriel
 
41
4141
Active card 1
Active card 1Active card 1
Active card 1
Alirio Gonzalez
 
SAS dans l\'Industrie : Développement de l\'approche Industrielle
SAS dans l\'Industrie : Développement de l\'approche IndustrielleSAS dans l\'Industrie : Développement de l\'approche Industrielle
SAS dans l\'Industrie : Développement de l\'approche Industrielle
pierrecochard
 

Andere mochten auch (20)

As. extensión forestal final
As. extensión forestal finalAs. extensión forestal final
As. extensión forestal final
 
Cesar chavezamy
Cesar chavezamyCesar chavezamy
Cesar chavezamy
 
Opinionway pour GEMA : Les mamans qui assurent / Juin 2015
Opinionway pour GEMA : Les mamans qui assurent / Juin 2015Opinionway pour GEMA : Les mamans qui assurent / Juin 2015
Opinionway pour GEMA : Les mamans qui assurent / Juin 2015
 
SISTEMA CIRCULATORIO
SISTEMA CIRCULATORIOSISTEMA CIRCULATORIO
SISTEMA CIRCULATORIO
 
Trabajo 7 tecnicas de comunicacion
Trabajo 7 tecnicas de comunicacionTrabajo 7 tecnicas de comunicacion
Trabajo 7 tecnicas de comunicacion
 
Presentacion ch3ko
Presentacion ch3koPresentacion ch3ko
Presentacion ch3ko
 
VO PAED Medienkulturforschung
VO PAED MedienkulturforschungVO PAED Medienkulturforschung
VO PAED Medienkulturforschung
 
Gimp2
Gimp2Gimp2
Gimp2
 
Vocaciones productivas regionales
Vocaciones productivas regionalesVocaciones productivas regionales
Vocaciones productivas regionales
 
Internet
Internet Internet
Internet
 
Subgrupo2
Subgrupo2Subgrupo2
Subgrupo2
 
Productividad
ProductividadProductividad
Productividad
 
Productos Forestales No Madereros
Productos Forestales No MadererosProductos Forestales No Madereros
Productos Forestales No Madereros
 
Diagnóstico Micro-Cuenca Río Purires
Diagnóstico Micro-Cuenca Río PuriresDiagnóstico Micro-Cuenca Río Purires
Diagnóstico Micro-Cuenca Río Purires
 
ComPurires Informe de trabajo 2010
ComPurires Informe de trabajo 2010ComPurires Informe de trabajo 2010
ComPurires Informe de trabajo 2010
 
Social Media - Dialog in Echtzeit
Social Media - Dialog in EchtzeitSocial Media - Dialog in Echtzeit
Social Media - Dialog in Echtzeit
 
Crea software
Crea softwareCrea software
Crea software
 
41
4141
41
 
Active card 1
Active card 1Active card 1
Active card 1
 
SAS dans l\'Industrie : Développement de l\'approche Industrielle
SAS dans l\'Industrie : Développement de l\'approche IndustrielleSAS dans l\'Industrie : Développement de l\'approche Industrielle
SAS dans l\'Industrie : Développement de l\'approche Industrielle
 

Ähnlich wie Dynamic linq

Intranet 2.0 - Lösungen für Wissensmanagement und Zusammenarbeit
Intranet 2.0 - Lösungen für Wissensmanagement und ZusammenarbeitIntranet 2.0 - Lösungen für Wissensmanagement und Zusammenarbeit
Intranet 2.0 - Lösungen für Wissensmanagement und Zusammenarbeit
Communardo GmbH
 
Barrierefreie Internet und Intranet Seiten mit Sharepoint Server - allgemein
Barrierefreie Internet und Intranet Seiten mit Sharepoint Server - allgemeinBarrierefreie Internet und Intranet Seiten mit Sharepoint Server - allgemein
Barrierefreie Internet und Intranet Seiten mit Sharepoint Server - allgemein
SharepointUGDD
 
Microsharing Im Unternehmen: Wie Dokumentieren und Lernen Teil der täglichen ...
Microsharing Im Unternehmen: Wie Dokumentieren und Lernen Teil der täglichen ...Microsharing Im Unternehmen: Wie Dokumentieren und Lernen Teil der täglichen ...
Microsharing Im Unternehmen: Wie Dokumentieren und Lernen Teil der täglichen ...
Communardo GmbH
 
SPSD 2015 - "Von OneDrive for Business zur Enterprise Collaboration Architektur"
SPSD 2015 - "Von OneDrive for Business zur Enterprise Collaboration Architektur"SPSD 2015 - "Von OneDrive for Business zur Enterprise Collaboration Architektur"
SPSD 2015 - "Von OneDrive for Business zur Enterprise Collaboration Architektur"
Communardo GmbH
 
Import Von Inhalten In Confluence (CCD'09)
Import Von Inhalten In Confluence (CCD'09)Import Von Inhalten In Confluence (CCD'09)
Import Von Inhalten In Confluence (CCD'09)
Communardo GmbH
 
Silverlight 2.0 Prozess Editor
Silverlight 2.0 Prozess EditorSilverlight 2.0 Prozess Editor
Silverlight 2.0 Prozess Editor
Martin Hey
 
Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?
Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?
Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?
Communote GmbH
 
SPSD2014 - Herausforderung: Produktive SharePoint Collaboration Plattform
SPSD2014 - Herausforderung: Produktive SharePoint Collaboration PlattformSPSD2014 - Herausforderung: Produktive SharePoint Collaboration Plattform
SPSD2014 - Herausforderung: Produktive SharePoint Collaboration Plattform
Communardo GmbH
 
Scratch und LEGO WeDo - Wie mache ich mein Kind fit für SharePoint? ;-)
Scratch und LEGO WeDo - Wie mache ich mein Kind fit für SharePoint? ;-)Scratch und LEGO WeDo - Wie mache ich mein Kind fit für SharePoint? ;-)
Scratch und LEGO WeDo - Wie mache ich mein Kind fit für SharePoint? ;-)
Christian Heindel
 
Der Weg zum Social Intranet : Arbeiten 2.0 erleben und adaptieren
Der Weg zum Social Intranet : Arbeiten 2.0 erleben und adaptierenDer Weg zum Social Intranet : Arbeiten 2.0 erleben und adaptieren
Der Weg zum Social Intranet : Arbeiten 2.0 erleben und adaptieren
Communardo GmbH
 
CCD 2012: Die Top 5 Plugins für Confluence
CCD 2012: Die Top 5 Plugins für ConfluenceCCD 2012: Die Top 5 Plugins für Confluence
CCD 2012: Die Top 5 Plugins für Confluence
Communardo GmbH
 
Communote wird OpenSource
Communote wird OpenSourceCommunote wird OpenSource
Communote wird OpenSource
Communote GmbH
 
Communote ist Open Source
Communote ist Open SourceCommunote ist Open Source
Communote ist Open Source
Communardo GmbH
 
CCD2014 - Communardo
CCD2014 - CommunardoCCD2014 - Communardo
CCD2014 - Communardo
Communardo GmbH
 
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschVon Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
enpit GmbH & Co. KG
 
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschVon Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Andreas Koop
 
Communardo SharePoint Solution Day - Projektierung und Einführung Social Intr...
Communardo SharePoint Solution Day - Projektierung und Einführung Social Intr...Communardo SharePoint Solution Day - Projektierung und Einführung Social Intr...
Communardo SharePoint Solution Day - Projektierung und Einführung Social Intr...
Communardo GmbH
 
VDC Newsletter 2011-01
VDC Newsletter 2011-01VDC Newsletter 2011-01
SQL CLR Integration
SQL CLR IntegrationSQL CLR Integration
SQL CLR Integration
Dorrit Riemenschneider
 

Ähnlich wie Dynamic linq (20)

Intranet 2.0 - Lösungen für Wissensmanagement und Zusammenarbeit
Intranet 2.0 - Lösungen für Wissensmanagement und ZusammenarbeitIntranet 2.0 - Lösungen für Wissensmanagement und Zusammenarbeit
Intranet 2.0 - Lösungen für Wissensmanagement und Zusammenarbeit
 
Barrierefreie Internet und Intranet Seiten mit Sharepoint Server - allgemein
Barrierefreie Internet und Intranet Seiten mit Sharepoint Server - allgemeinBarrierefreie Internet und Intranet Seiten mit Sharepoint Server - allgemein
Barrierefreie Internet und Intranet Seiten mit Sharepoint Server - allgemein
 
Microsharing Im Unternehmen: Wie Dokumentieren und Lernen Teil der täglichen ...
Microsharing Im Unternehmen: Wie Dokumentieren und Lernen Teil der täglichen ...Microsharing Im Unternehmen: Wie Dokumentieren und Lernen Teil der täglichen ...
Microsharing Im Unternehmen: Wie Dokumentieren und Lernen Teil der täglichen ...
 
SPSD 2015 - "Von OneDrive for Business zur Enterprise Collaboration Architektur"
SPSD 2015 - "Von OneDrive for Business zur Enterprise Collaboration Architektur"SPSD 2015 - "Von OneDrive for Business zur Enterprise Collaboration Architektur"
SPSD 2015 - "Von OneDrive for Business zur Enterprise Collaboration Architektur"
 
Import Von Inhalten In Confluence (CCD'09)
Import Von Inhalten In Confluence (CCD'09)Import Von Inhalten In Confluence (CCD'09)
Import Von Inhalten In Confluence (CCD'09)
 
Silverlight 2.0 Prozess Editor
Silverlight 2.0 Prozess EditorSilverlight 2.0 Prozess Editor
Silverlight 2.0 Prozess Editor
 
Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?
Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?
Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?
 
SPSD2014 - Herausforderung: Produktive SharePoint Collaboration Plattform
SPSD2014 - Herausforderung: Produktive SharePoint Collaboration PlattformSPSD2014 - Herausforderung: Produktive SharePoint Collaboration Plattform
SPSD2014 - Herausforderung: Produktive SharePoint Collaboration Plattform
 
Scratch und LEGO WeDo - Wie mache ich mein Kind fit für SharePoint? ;-)
Scratch und LEGO WeDo - Wie mache ich mein Kind fit für SharePoint? ;-)Scratch und LEGO WeDo - Wie mache ich mein Kind fit für SharePoint? ;-)
Scratch und LEGO WeDo - Wie mache ich mein Kind fit für SharePoint? ;-)
 
Der Weg zum Social Intranet : Arbeiten 2.0 erleben und adaptieren
Der Weg zum Social Intranet : Arbeiten 2.0 erleben und adaptierenDer Weg zum Social Intranet : Arbeiten 2.0 erleben und adaptieren
Der Weg zum Social Intranet : Arbeiten 2.0 erleben und adaptieren
 
CCD 2012: Die Top 5 Plugins für Confluence
CCD 2012: Die Top 5 Plugins für ConfluenceCCD 2012: Die Top 5 Plugins für Confluence
CCD 2012: Die Top 5 Plugins für Confluence
 
Communote wird OpenSource
Communote wird OpenSourceCommunote wird OpenSource
Communote wird OpenSource
 
Communote ist Open Source
Communote ist Open SourceCommunote ist Open Source
Communote ist Open Source
 
CCD2014 - Communardo
CCD2014 - CommunardoCCD2014 - Communardo
CCD2014 - Communardo
 
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschVon Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
 
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem VormarschVon Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
Von Big Data zu Künstlicher Intelligenz - Maschinelles Lernen auf dem Vormarsch
 
Communardo SharePoint Solution Day - Projektierung und Einführung Social Intr...
Communardo SharePoint Solution Day - Projektierung und Einführung Social Intr...Communardo SharePoint Solution Day - Projektierung und Einführung Social Intr...
Communardo SharePoint Solution Day - Projektierung und Einführung Social Intr...
 
VDC Newsletter 2011-01
VDC Newsletter 2011-01VDC Newsletter 2011-01
VDC Newsletter 2011-01
 
SQL CLR Integration
SQL CLR IntegrationSQL CLR Integration
SQL CLR Integration
 
Sokratis Kourtsidis Resume
Sokratis Kourtsidis ResumeSokratis Kourtsidis Resume
Sokratis Kourtsidis Resume
 

Mehr von .NET User Group Dresden

BUILD 2011 in Anaheim.
BUILD 2011 in Anaheim.BUILD 2011 in Anaheim.
BUILD 2011 in Anaheim.
.NET User Group Dresden
 
GUIs mit Expression Blend
GUIs mit Expression BlendGUIs mit Expression Blend
GUIs mit Expression Blend
.NET User Group Dresden
 
Ist ADO.NET EntityFramework das bessere LINQ?
Ist ADO.NET EntityFramework das bessere LINQ?Ist ADO.NET EntityFramework das bessere LINQ?
Ist ADO.NET EntityFramework das bessere LINQ?
.NET User Group Dresden
 
WPF 3D Programmierung
WPF 3D ProgrammierungWPF 3D Programmierung
WPF 3D Programmierung
.NET User Group Dresden
 

Mehr von .NET User Group Dresden (10)

Deeplinking in eine WinForms-Anwendung
Deeplinking in eine WinForms-AnwendungDeeplinking in eine WinForms-Anwendung
Deeplinking in eine WinForms-Anwendung
 
BUILD 2011 in Anaheim.
BUILD 2011 in Anaheim.BUILD 2011 in Anaheim.
BUILD 2011 in Anaheim.
 
MVVM Pattern
MVVM Pattern MVVM Pattern
MVVM Pattern
 
GUIs mit Expression Blend
GUIs mit Expression BlendGUIs mit Expression Blend
GUIs mit Expression Blend
 
Visual Studio Tools for Office
Visual Studio Tools for OfficeVisual Studio Tools for Office
Visual Studio Tools for Office
 
Team Foundation Server
Team Foundation ServerTeam Foundation Server
Team Foundation Server
 
Silverlight
SilverlightSilverlight
Silverlight
 
Lambda Expressions & Linq
Lambda Expressions & LinqLambda Expressions & Linq
Lambda Expressions & Linq
 
Ist ADO.NET EntityFramework das bessere LINQ?
Ist ADO.NET EntityFramework das bessere LINQ?Ist ADO.NET EntityFramework das bessere LINQ?
Ist ADO.NET EntityFramework das bessere LINQ?
 
WPF 3D Programmierung
WPF 3D ProgrammierungWPF 3D Programmierung
WPF 3D Programmierung
 

Dynamic linq

  • 1. Dynamic LINQ Martin Hey Communardo Software GmbH 21.07.2010
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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