SlideShare uma empresa Scribd logo
1 de 11
Dynamic LINQ Martin Hey 21.07.2010 Communardo Software GmbH
2 Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · 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?
3 Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · 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?
4 Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · www.communardo.de ·  Tel. +49 (351) 8 33 82-0 wird über Extension-Methods realisiert LINQ To Objects – was ist das?
5 Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · 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?
6 Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · 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?
7 Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · 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?
8 Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · www.communardo.de ·  Tel. +49 (351) 8 33 82-0       jetzt wird programmiert      Demo
9 Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · www.communardo.de ·  Tel. +49 (351) 8 33 82-0 LINQ Dynamic Query Libraryhttp://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx Was gibt‘s noch?
Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · www.communardo.de ·  Tel. +49 (351) 8 33 82-0 10
11 Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · 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 DeepDive (Albert Weinert) Nächste Termine

Mais conteúdo relacionado

Destaque

Nature In Berriz
Nature In BerrizNature In Berriz
Nature In Berrizmarivisu
 
Feurwehrmann
FeurwehrmannFeurwehrmann
FeurwehrmannWolle1
 
Next Generation Internet Open Source
Next Generation Internet Open SourceNext Generation Internet Open Source
Next Generation Internet Open SourceAndreas Mertens
 
11. FUNCIONES DE VARIAS VARIABLES
11. FUNCIONES DE VARIAS VARIABLES11. FUNCIONES DE VARIAS VARIABLES
11. FUNCIONES DE VARIAS VARIABLESedvinogo
 
ALGUNAS DESPEDIDAS
ALGUNAS DESPEDIDASALGUNAS DESPEDIDAS
ALGUNAS DESPEDIDASelrecreo
 
How-to Video heute: im Web, mobile und überhaupt
How-to Video heute: im Web, mobile und überhauptHow-to Video heute: im Web, mobile und überhaupt
How-to Video heute: im Web, mobile und überhauptBokowsky + Laymann GmbH
 
Ich in 5 Bildern: Morgen
Ich in 5 Bildern: MorgenIch in 5 Bildern: Morgen
Ich in 5 Bildern: Morgencarla asquini
 
Datenformate und Standards
Datenformate und StandardsDatenformate und Standards
Datenformate und StandardsJakob .
 
Die Waldtiere
Die WaldtiereDie Waldtiere
Die WaldtiereWolle1
 
Digicomp change management_2 0_m_schweizer_v3_150317
Digicomp change management_2 0_m_schweizer_v3_150317Digicomp change management_2 0_m_schweizer_v3_150317
Digicomp change management_2 0_m_schweizer_v3_150317Markus Schweizer
 
20150424 De kracht van Twitter - ASW Social Media Seminar
20150424 De kracht van Twitter - ASW Social Media Seminar20150424 De kracht van Twitter - ASW Social Media Seminar
20150424 De kracht van Twitter - ASW Social Media SeminarPaulus Veltman
 
Semantic Web II: FRBR & Co
Semantic Web II: FRBR & CoSemantic Web II: FRBR & Co
Semantic Web II: FRBR & CoJakob .
 
Internet Research Einführungssitzung
Internet Research EinführungssitzungInternet Research Einführungssitzung
Internet Research EinführungssitzungJens Holze
 
Forges
ForgesForges
ForgesNeo22
 
20150424 Storytelling voor bewonersorganisaties - ASW Social Media Seminar
20150424 Storytelling voor bewonersorganisaties - ASW Social Media Seminar20150424 Storytelling voor bewonersorganisaties - ASW Social Media Seminar
20150424 Storytelling voor bewonersorganisaties - ASW Social Media SeminarPaulus Veltman
 
CrowdFunding - die sieben Todsünden
CrowdFunding - die sieben TodsündenCrowdFunding - die sieben Todsünden
CrowdFunding - die sieben TodsündenMichael Gebert
 
A textual DSL for UI Developement - Lessons from the Practice
A textual DSL for UI Developement - Lessons from the PracticeA textual DSL for UI Developement - Lessons from the Practice
A textual DSL for UI Developement - Lessons from the Practicermuecke
 

Destaque (20)

Nature In Berriz
Nature In BerrizNature In Berriz
Nature In Berriz
 
Feurwehrmann
FeurwehrmannFeurwehrmann
Feurwehrmann
 
Fail!
Fail!Fail!
Fail!
 
Next Generation Internet Open Source
Next Generation Internet Open SourceNext Generation Internet Open Source
Next Generation Internet Open Source
 
Dsvdoc
DsvdocDsvdoc
Dsvdoc
 
11. FUNCIONES DE VARIAS VARIABLES
11. FUNCIONES DE VARIAS VARIABLES11. FUNCIONES DE VARIAS VARIABLES
11. FUNCIONES DE VARIAS VARIABLES
 
ALGUNAS DESPEDIDAS
ALGUNAS DESPEDIDASALGUNAS DESPEDIDAS
ALGUNAS DESPEDIDAS
 
How-to Video heute: im Web, mobile und überhaupt
How-to Video heute: im Web, mobile und überhauptHow-to Video heute: im Web, mobile und überhaupt
How-to Video heute: im Web, mobile und überhaupt
 
Ich in 5 Bildern: Morgen
Ich in 5 Bildern: MorgenIch in 5 Bildern: Morgen
Ich in 5 Bildern: Morgen
 
Fr525343
Fr525343Fr525343
Fr525343
 
Datenformate und Standards
Datenformate und StandardsDatenformate und Standards
Datenformate und Standards
 
Die Waldtiere
Die WaldtiereDie Waldtiere
Die Waldtiere
 
Digicomp change management_2 0_m_schweizer_v3_150317
Digicomp change management_2 0_m_schweizer_v3_150317Digicomp change management_2 0_m_schweizer_v3_150317
Digicomp change management_2 0_m_schweizer_v3_150317
 
20150424 De kracht van Twitter - ASW Social Media Seminar
20150424 De kracht van Twitter - ASW Social Media Seminar20150424 De kracht van Twitter - ASW Social Media Seminar
20150424 De kracht van Twitter - ASW Social Media Seminar
 
Semantic Web II: FRBR & Co
Semantic Web II: FRBR & CoSemantic Web II: FRBR & Co
Semantic Web II: FRBR & Co
 
Internet Research Einführungssitzung
Internet Research EinführungssitzungInternet Research Einführungssitzung
Internet Research Einführungssitzung
 
Forges
ForgesForges
Forges
 
20150424 Storytelling voor bewonersorganisaties - ASW Social Media Seminar
20150424 Storytelling voor bewonersorganisaties - ASW Social Media Seminar20150424 Storytelling voor bewonersorganisaties - ASW Social Media Seminar
20150424 Storytelling voor bewonersorganisaties - ASW Social Media Seminar
 
CrowdFunding - die sieben Todsünden
CrowdFunding - die sieben TodsündenCrowdFunding - die sieben Todsünden
CrowdFunding - die sieben Todsünden
 
A textual DSL for UI Developement - Lessons from the Practice
A textual DSL for UI Developement - Lessons from the PracticeA textual DSL for UI Developement - Lessons from the Practice
A textual DSL for UI Developement - Lessons from the Practice
 

Semelhante a 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 ZusammenarbeitCommunardo GmbH
 
DNUG Chemnitz 20091210
DNUG Chemnitz 20091210DNUG Chemnitz 20091210
DNUG Chemnitz 20091210SharepointUGDD
 
SharePoint 2010 & Enterprise 2.0
SharePoint 2010 & Enterprise 2.0SharePoint 2010 & Enterprise 2.0
SharePoint 2010 & Enterprise 2.0SharepointUGDD
 
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 - allgemeinSharepointUGDD
 
.NET Usergroup Chemnitz 20091210
.NET Usergroup Chemnitz 20091210.NET Usergroup Chemnitz 20091210
.NET Usergroup Chemnitz 20091210Martin Hey
 
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
 
Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core ApplicationsRobin Sedlaczek
 
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
 
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 ConfluenceCommunardo GmbH
 
Communote 3.0 - Quick Start Guide
Communote 3.0 - Quick Start GuideCommunote 3.0 - Quick Start Guide
Communote 3.0 - Quick Start GuideCommunote GmbH
 
.NET Core Architecture (UI)
.NET Core Architecture (UI).NET Core Architecture (UI)
.NET Core Architecture (UI)Robin Sedlaczek
 
Silverlight 2.0 Prozess Editor
Silverlight 2.0 Prozess EditorSilverlight 2.0 Prozess Editor
Silverlight 2.0 Prozess EditorMartin Hey
 
SPSD2014 - Herausforderung: Produktive SharePoint Collaboration Plattform
SPSD2014 - Herausforderung: Produktive SharePoint Collaboration PlattformSPSD2014 - Herausforderung: Produktive SharePoint Collaboration Plattform
SPSD2014 - Herausforderung: Produktive SharePoint Collaboration PlattformCommunardo GmbH
 
Communote wird OpenSource
Communote wird OpenSourceCommunote wird OpenSource
Communote wird OpenSourceCommunote GmbH
 
Communote ist Open Source
Communote ist Open SourceCommunote ist Open Source
Communote ist Open SourceCommunardo GmbH
 
Developer Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-AnwendungenDeveloper Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-AnwendungenRobin Sedlaczek
 

Semelhante a 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
 
DNUG Chemnitz 20091210
DNUG Chemnitz 20091210DNUG Chemnitz 20091210
DNUG Chemnitz 20091210
 
SharePoint 2010 & Enterprise 2.0
SharePoint 2010 & Enterprise 2.0SharePoint 2010 & Enterprise 2.0
SharePoint 2010 & Enterprise 2.0
 
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
 
.NET Usergroup Chemnitz 20091210
.NET Usergroup Chemnitz 20091210.NET Usergroup Chemnitz 20091210
.NET Usergroup Chemnitz 20091210
 
SQL CLR Integration
SQL CLR IntegrationSQL CLR Integration
SQL CLR Integration
 
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"
 
Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core Applications
 
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?
 
PLM-Zukunftsthemen
PLM-ZukunftsthemenPLM-Zukunftsthemen
PLM-Zukunftsthemen
 
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 3.0 - Quick Start Guide
Communote 3.0 - Quick Start GuideCommunote 3.0 - Quick Start Guide
Communote 3.0 - Quick Start Guide
 
.NET Core Architecture (UI)
.NET Core Architecture (UI).NET Core Architecture (UI)
.NET Core Architecture (UI)
 
Silverlight 2.0 Prozess Editor
Silverlight 2.0 Prozess EditorSilverlight 2.0 Prozess Editor
Silverlight 2.0 Prozess Editor
 
SPSD2014 - Herausforderung: Produktive SharePoint Collaboration Plattform
SPSD2014 - Herausforderung: Produktive SharePoint Collaboration PlattformSPSD2014 - Herausforderung: Produktive SharePoint Collaboration Plattform
SPSD2014 - Herausforderung: Produktive SharePoint Collaboration Plattform
 
CCD2014 - Communardo
CCD2014 - CommunardoCCD2014 - Communardo
CCD2014 - Communardo
 
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
 
Developer Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-AnwendungenDeveloper Week 2019: Architekturen für .NET Core-Anwendungen
Developer Week 2019: Architekturen für .NET Core-Anwendungen
 

Dynamic LINQ

  • 1. Dynamic LINQ Martin Hey 21.07.2010 Communardo Software GmbH
  • 2. 2 Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · 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?
  • 3. 3 Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · 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?
  • 4. 4 Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0 wird über Extension-Methods realisiert LINQ To Objects – was ist das?
  • 5. 5 Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · 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?
  • 6. 6 Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · 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?
  • 7. 7 Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · 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?
  • 8. 8 Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0    jetzt wird programmiert    Demo
  • 9. 9 Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0 LINQ Dynamic Query Libraryhttp://weblogs.asp.net/scottgu/archive/2008/01/07/dynamic-linq-part-1-using-the-linq-dynamic-query-library.aspx Was gibt‘s noch?
  • 10. Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · www.communardo.de · Tel. +49 (351) 8 33 82-0 10
  • 11. 11 Communardo Software GmbH · Kleiststraße 10a · D-01129 Dresden/Germany info@communardo.de · 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 DeepDive (Albert Weinert) Nächste Termine