La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

C#3 et le projet Linq Mitsuru FURUTA Relations techniques développeurs - Microsoft France –

Présentations similaires


Présentation au sujet: "C#3 et le projet Linq Mitsuru FURUTA Relations techniques développeurs - Microsoft France –"— Transcription de la présentation:

1 C#3 et le projet Linq Mitsuru FURUTA Relations techniques développeurs - Microsoft France – Pierre LAGARDE Relations techniques développeurs - Microsoft France

2 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 lindustrie. Le prochain challenge sera de diminuer la complexité daccè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 daccès aux données plus générale en ciblant nimporte 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 Rappels framework 2.0 Demo

6 Dans un avenir proche Linq, DLinq et XLinq Objectifs Unifier laccè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é dexprimer une requête directement dans le code Type inference Déduction à la compilation du type dun objet Lambda expression Utilisation dexpression Lambda directement dans le code Extension methods Etendre une classe sans en dériver par AOP Anonymous type Construction dobjet sans définition de classe Object initializer Possibilité dinitialiser des données membres à linitialisation Langages concernés C# v3 et VB.NET v9, mais spécifications ouvertes (C++, Delphi..)

8 Dans un avenir proche var contacts = from c in customers from c in customers where c.State == "WA" where c.State == "WA" select new { c.Name, c.Phone }; select new { c.Name, c.Phone }; var contacts = customers customers.Where(c => c.State == "WA").Where(c => c.State == "WA").Select(c => new { c.Name, c.Phone });.Select(c => new { c.Name, c.Phone }); Extension methods Lambda expressions Query expressions Object initializers Anonymous types Local variable type inference

9 Process démo Demo

10 C#3 Déclarations explicites Initialisations Types anonymes Méthodes dextension Expressions lambda

11 Filter démo Demo

12 Process démo 2 ème Extensions de méthode Exécution différée Demo

13 Sample query Demo

14 DLinq Laccès aux données 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 Larborescence dexpressions Un modèle ouvert et extensible

15 DLinq Helloworld Entity objects DataContext Mises à jour Relations Demo

16 Expressions: visualiser larborescence Demo

17 Expressions: créer dynamiquement ses expressions Demo

18 Nouveautés: Générateur/Designer Demo

19 Sample query Demo


Télécharger ppt "C#3 et le projet Linq Mitsuru FURUTA Relations techniques développeurs - Microsoft France –"

Présentations similaires


Annonces Google