introduction linq to objects expressions linq to sql linq to xml
Post on 03-Apr-2015
152 Views
Preview:
TRANSCRIPT
IntroductionIntroduction
Linq to objectsLinq to objects
ExpressionsExpressions
Linq to SqlLinq to Sql
Linq to XmlLinq 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
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
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 ?
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
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
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
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
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
Document : XDocumentDocument : XDocument
Balises XML : XElementBalises XML : XElement
Attributs XML : XAttributsAttributs XML : XAttributs
Espace de noms : XNamespaceEspace de noms : XNamespace
• 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");
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
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
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
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
© 2007 Microsoft France
Votre potentiel, notre passion TM
top related