Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
C#3 et le projet Linq Mitsuru FURUTA
Relations techniques développeurs - Microsoft France – Pierre LAGARDE Relations techniques développeurs - Microsoft France
2
Rappels sur le framework .Net 2.0 Linq C#3 Pause XLinq DLinq
Agenda Introduction Rappels sur le framework .Net 2.0 Linq C#3 Pause XLinq DLinq
3
Introduction: .Net Language Integrated Query
Constat: la maturité des langages objets est atteinte dans l’industrie. Le prochain challenge sera de diminuer la complexité d’accès aux données non objet (principalement les bases de données relationnelles et le Xml). Les technologies actuelles sont multiples: sql, mapping objet-relationnel, DOM, XPath, XQuery, etc… Linq offre une approche d’accès aux données plus générale en ciblant n’importe quel type de source de données Linq exploite les dernières évolutions de C#3 pour mettre en place un tel mécanisme. Linq définit ainsi un standard qui pourra être étendu aux autres langages .Net tels que VB.NET.
4
Rappels sur le framework .Net 2.0
Générics Classes partielles Méthodes anonymes Délégués simplifiés Types Nullables Rappel sur les énumérations: yield return !!!
5
Demo Rappels framework 2.0
6
Dans un avenir proche Linq, DLinq et XLinq
Objectifs Unifier l’accès aux données quelque soit sa source Langage de requête objet quelque soit sa provenance Les technologies Linq : langage de manipulation de données XLinq : extension spécifique de Linq pour le formalisme XML DLinq : extension spécifique de Linq pour les données SQL
7
Linq Les évolutions Query Expression
Possibilité d’exprimer une requête directement dans le code Type inference Déduction à la compilation du type d’un objet Lambda expression Utilisation d’expression Lambda directement dans le code Extension methods Etendre une classe sans en dériver par AOP Anonymous type Construction d’objet sans définition de classe Object initializer Possibilité d’initialiser des données membres à l’initialisation Langages concernés C# v3 et VB.NET v9, mais spécifications ouvertes (C++, Delphi..)
8
Local variable type inference
Dans un avenir proche Query expressions var contacts = from c in customers where c.State == "WA" select new { c.Name, c.Phone }; Local variable type inference Lambda expressions var contacts = customers .Where(c => c.State == "WA") .Select(c => new { c.Name, c.Phone }); Extension methods Anonymous types Object initializers
9
Demo Process démo
10
Déclarations explicites Initialisations Types anonymes
Méthodes d’extension Expressions lambda
11
Demo Filter démo
12
Process démo 2ème Extensions de méthode Exécution différée
Demo Process démo 2ème Extensions de méthode Exécution différée
13
Demo Sample query
14
DLinq L’accès aux données Les structures de données: Les requêtes
DataContext Les requêtes de mise à jour Les structures de données: Les objets « entités » Mapping par attributs Le générateur, le designer Les requêtes L’arborescence d’expressions Un modèle ouvert et extensible
15
DLinq Helloworld Entity objects DataContext Mises à jour Relations
Demo DLinq Helloworld Entity objects DataContext Mises à jour Relations
16
Expressions: visualiser l’arborescence
Demo Expressions: visualiser l’arborescence
17
Expressions: créer dynamiquement ses expressions
Demo Expressions: créer dynamiquement ses expressions
18
Nouveautés: Générateur/Designer
Demo Nouveautés: Générateur/Designer
19
Demo Sample query
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.