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

Linq & les expressions lambda. L Language In Integrated Q Query.

Présentations similaires


Présentation au sujet: "Linq & les expressions lambda. L Language In Integrated Q Query."— Transcription de la présentation:

1 Linq & les expressions lambda

2 L Language In Integrated Q Query

3  Procéder à des requêtes sur nos objets, comme on le ferait en SQL, au sein même de notre langage de programmation.  Virtuellement, tout ce qu’on sait faire avec SQL peut désormais être réalisé en C#

4  Linq peut s’interfacer avec différentes cibles : ◦ Les collections d’objets implémentant l’interface IEnumerable : Linq to Object ◦ Des données SQL (via Entity Framework) : Linq to SQL ◦ Des flux XML (via les classes Xelement, XDocument,…) : Linq To XML ◦ D’autres encore…

5  2 syntaxes : ◦ Syntaxe type SQL: var result = from u in users where u.login == ‘‘toto’’ select u.mail; ◦ Syntaxe objet: var result = users.Where(u => u.login == ‘‘toto’’).Select(u => u.mail); On appelle cette notation, une expression lambda

6  Il s’agit de fonctions anonymes pouvant être utilisées comme des variables.  u => u.login == ‘‘toto’’ : ◦ Ici, on définit une fonction prenant en entrée un User et retournant un booléen ◦ Concrètement, pout tout User u, on va tester si on login est égal à ‘‘toto’’. ◦ Les types entrant et sortant sont définis par la méthode Where.  Dans la méthode Select, le paramètre d’entrée est toujours un User mais le paramètre de sortie changera en fonction du champ sélectionné: ◦ u => u.mail : Ici, on récupère une string.

7  Reprenons notre exemple : users.Where(u => u.login == ‘‘toto’’).Select(u => u.mail).  La syntaxte complète devrait être celle-ci: users.Where (u => u.login == ‘‘toto’’).Select (u => u.mail).  Les méthodes de Linq sont génériques, elles ont besoin de connaitre le type sur lequel elles travaillent.  Si on peut éviter de le préciser, c’est qu’elle peuvent l’inférer à partir du typage de la collection

8  Des questions?  Au travail!


Télécharger ppt "Linq & les expressions lambda. L Language In Integrated Q Query."

Présentations similaires


Annonces Google