Download - Introduction Linq to objects Expressions Linq to Sql Linq to Xml.

Transcript
Page 1: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.
Page 2: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.
Page 3: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.

IntroductionIntroduction

Linq to objectsLinq to objects

ExpressionsExpressions

Linq to SqlLinq to Sql

Linq to XmlLinq to Xml

Page 4: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.

Language INtegrated QueryLanguage INtegrated QueryUne syntaxe simple, des concepts Une syntaxe simple, des concepts complexescomplexes

La voie vers les langages fonctionnelsLa voie vers les langages fonctionnels

Un modèle de requêtage ouvert et Un modèle de requêtage ouvert et extensibleextensible

Le mapping objet-relationnelLe mapping objet-relationnel

Une API XmlUne API Xml

Un requêtage universelUn requêtage universel

Page 5: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.

Linq to objectsLinq to objects

Linq to SqlLinq to Sql

Linq to EntitiesLinq to Entities

Linq to XmlLinq to Xml

Linq to XsdLinq to Xsd

Page 6: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.

Requêtage mémoire sur des graphes Requêtage mémoire sur des graphes d’objetsd’objets

Exécution différée: qu’est-ce qu’une Exécution différée: qu’est-ce qu’une énumération ?énumération ?

Page 7: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.
Page 8: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.

Délégués, méthodes anonymes et Délégués, méthodes anonymes et expressions lambdasexpressions lambdas

Arborescence d’expressionArborescence d’expression

CompilationCompilation

Page 9: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.
Page 10: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.

Linq to Sql offre:Linq to Sql offre:Un requêtage vers les bases Sql exprimé en Un requêtage vers les bases Sql exprimé en langage .Net associé à des informations de langage .Net associé à des informations de mapping (attributs ou externalisées (xml))mapping (attributs ou externalisées (xml))

Un suivi des modifications pour les entités qui Un suivi des modifications pour les entités qui implémentent INotifyPropertyChangedimplémentent INotifyPropertyChanged

Un suivi des ajouts et des suppressions pour les Un suivi des ajouts et des suppressions pour les collections qui implémentent IListChangedcollections qui implémentent IListChanged

Une mise à jour vers la base (Create, Update, Une mise à jour vers la base (Create, Update, Delete) de ces entités.Delete) de ces entités.

Un modèle de provider ouvert pour l’extension Un modèle de provider ouvert pour l’extension vers d’autres bases de donnéesvers d’autres bases de données

Page 11: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.

Linq to Sql n’offre pas:Linq to Sql n’offre pas:de modèle de base d’entités ou de de modèle de base d’entités ou de collectionscollections

Ce choix reste libre pour le développeurCe choix reste libre pour le développeur

de schéma de modélisation complexe de schéma de modélisation complexe (transformations) entre la base et les (transformations) entre la base et les classesclasses

Modèle de Linq to EntitiesModèle de Linq to Entities

Page 12: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.
Page 13: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.
Page 14: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.

XML est réellement partoutXML est réellement partoutInformations de configurationInformations de configuration

Descriptions d’interfaces graphiquesDescriptions d’interfaces graphiques

Documents bureautiquesDocuments bureautiques

……

Une nouvelle API pour Une nouvelle API pour RequêterRequêter

Lire/EcrireLire/Ecrire

Page 15: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.

Tirer parti des capacités de LINQTirer parti des capacités de LINQRequêtage à la demandeRequêtage à la demande

Manipulation ensembliste Manipulation ensembliste

Syntaxe connueSyntaxe connue

Simplification d’écritureSimplification d’écriture

Eviter l’apprentissage deEviter l’apprentissage deXPathXPath

XQueryXQuery

XSLTXSLT

Page 16: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.
Page 17: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.

Document : XDocumentDocument : XDocument

Balises XML : XElementBalises XML : XElement

Attributs XML : XAttributsAttributs XML : XAttributs

Espace de noms : XNamespaceEspace de noms : XNamespace

Page 18: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.

• Création d’un bouton WPFCréation d’un bouton WPF

XNamespace xamlNS = "http://.../winfx/2006/xaml";XNamespace xamlNS = "http://.../winfx/2006/xaml";

XNamespace wpfNS = "http://.../xaml/presentation";XNamespace wpfNS = "http://.../xaml/presentation";

XDocument x = new XDocument(XDocument x = new XDocument(

new XDeclaration("1.0", "utf-8", "yes"),new XDeclaration("1.0", "utf-8", "yes"),

new XElement(wpfNS + "Canvas",new XElement(wpfNS + "Canvas",

new XAttribute(wpfNS + "Height", 123),new XAttribute(wpfNS + "Height", 123),

new XAttribute(wpfNS + "Width", 456),new XAttribute(wpfNS + "Width", 456),

new XElement(wpfNS + "Button", "Mon bouton !!!"));new XElement(wpfNS + "Button", "Mon bouton !!!"));

x.Save(@"c:\test.xaml");x.Save(@"c:\test.xaml");

Page 19: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.
Page 20: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.
Page 21: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.

Projet Microsoft visant àProjet Microsoft visant àProposer une programmation XML typéeProposer une programmation XML typée

Etre le pendant du mapping O/R : le Etre le pendant du mapping O/R : le Mapping X/OMapping X/O

Etendre les capacités de LINQ To XMLEtendre les capacités de LINQ To XML

Page 22: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.

Augmenter le contrôle à la Augmenter le contrôle à la compilationcompilation

Erreur ?Erreur ?new XElement(wpfNS + "Buton", "Mon bouton !!!");new XElement(wpfNS + "Buton", "Mon bouton !!!");

Pas d’erreur !Pas d’erreur !new Button("Mon bouton");new Button("Mon bouton");

Simplifier l’écriture…Simplifier l’écriture…

Réaliser du mappingRéaliser du mapping

Page 23: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.

Référencer le schémaRéférencer le schéma

Utiliser LINQ To XSD pour générer les Utiliser LINQ To XSD pour générer les classes issues du schémaclasses issues du schéma

Utiliser classiquement ces objets Utiliser classiquement ces objets pour le requêtage LINQpour le requêtage LINQ

Page 24: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.
Page 25: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.
Page 26: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.

S’informer S’informer - Un portail d’informations, des - Un portail d’informations, des événements, une newsletter bimensuelle événements, une newsletter bimensuelle personnaliséepersonnalisée

Se former - Se former - Des webcasts, des articles techniques, des Des webcasts, des articles techniques, des téléchargements, des forums pour échanger avec vos téléchargements, des forums pour échanger avec vos pairspairs

Bénéficier de services - Bénéficier de services - Des cursus de formations et Des cursus de formations et de certifications, des offres de support techniquede certifications, des offres de support technique

Visual Studio 2005 +Visual Studio 2005 +

Abonnement Abonnement MSDN MSDN Premium Premium

Abonnement Abonnement TechNet TechNet Plus :Plus :

Versions d’éval + 2 incidents Versions d’éval + 2 incidents supportsupport

Page 27: Introduction Linq to objects Expressions Linq to Sql Linq to Xml.

© 2007 Microsoft France

Votre potentiel, notre passion TM