c 3 et le projet linq l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
C#3 et le projet Linq PowerPoint Presentation
Download Presentation
C#3 et le projet Linq

Loading in 2 Seconds...

play fullscreen
1 / 19
malana

C#3 et le projet Linq - PowerPoint PPT Presentation

93 Views
Download Presentation
C#3 et le projet Linq
An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. C#3 et le projet Linq Mitsuru FURUTA Relations techniques développeurs - Microsoft France mitsufu@microsoft.com – http://blogs.microsoft.fr/mitsufu Pierre LAGARDE Relations techniques développeurs - Microsoft France pierlag@microsoft.com

  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 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. Rappels framework 2.0 Demo

  6. Dans un avenir procheLinq, 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. 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. Process démo Demo

  10. C#3 • Déclarations explicites • Initialisations • Types anonymes • Méthodes d’extension • 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 • L’accè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 • L’arborescence d’expressions • Un modèle ouvert et extensible

  15. DLinq Helloworld Entity objects DataContext Mises à jour Relations Demo

  16. Expressions: visualiser l’arborescence Demo

  17. Expressions: créer dynamiquement ses expressions Demo

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

  19. Sample query Demo