Développement d`applications avec LINQ, C# et Visual Studio 2008

Transcription

Développement d`applications avec LINQ, C# et Visual Studio 2008
HEIG-VD
Route de Cheseaux 1
CH - 1401 Yverdon-les-Bains
www.heig-vd.ch
Développement d'applications avec LINQ, C# et
Visual Studio 2008
LINQ : pourquoi faire ?
LINQ est la grande nouveauté du .NET
Framework 3.5. Deux grandes idées motivent
son existence : la volonté d'avoir un langage
unique pour manipuler des données issues de
différentes sources et la détermination à
intégrer ce langage à un langage de
programmation de haut niveau. Dans notre
cas, le C# ou le VB.NET.
Source : http://www.micrsoft.com
Le but du projet
L'objectif était de réaliser un document de
référence sur la technologie LINQ. Il devait
être
accessible
à
des
développeurs
inexpérimentés et leurs permettre une rapide
prise en main de LINQ. Il comprend donc de
nombreux exemples et tutoriels.
Les facettes de LINQ…
LINQ se décline en plusieurs composantes qui
ont des fonctions bien particulières :
possible de travailler directement avec des
objets.
LINQ to DataSet qui lui permet la manipulation
et l'interrogation de collection ADO.NET.
LINQ to Entities qui permettra dans l'avenir de
manipuler et interroger des données issues de
tous les SGBD importants. Pour l'instant,
seules SQL Server, Oracle, MySQL et SQLite
sont fonctionnels. Contrairement à LINQ to
SQL, le mappage n'est pas direct. Ce qui offre
la possibilité de travailler sur le modèle
conceptuel pour créer ses propres types
d'objet à partir du modèle logique.
LINQ to XML permet quant à lui, la
manipulation et l'interrogation de données au
format XML. Cette partie est non négligeable,
vu la popularité de XML et les innovations
apportées. La manipulation et l'interrogation de
documents XML étaient jusqu'ici très lourdes,
Microsoft offre un début de réponse à ce
problème
en
intégrant
notamment
la
construction fonctionnelle et en rendant
accessibles la manipulation de type de fichier
même aux programmeurs allergiques à DOM.
En conclusion
Il serait faut de penser que LINQ n'est qu'un
simple langage d'interrogation inspiré de SQL.
Il offre de nombreuses fonctionnalités qui
élargissent et ouvre de nouvelles voies dans le
domaine de la manipulation des données.
// La source de données
int[] nombres = new
int[9]{1,2,3,4,5,6,7,8,9};
LINQ to Object qui permet de manipuler et
d'interroger des collections de données
standards (tableaux et listes).
// Création de la requête
// Tous les nombres pairs
var requete = from nombre in nombres
where nombre % 2 == 0
select nombre;
LINQ to SQL qui manipule et interroge des
données issues d'une base de données SQL
Server. La base de données est mappée à des
classes entités. De cette manière, il est
// Exécution de la requête
foreach (int n in requete)
Console.WriteLine("{0}",n);
Auteur:
Répondant externe:
Prof. responsable:
Sujet proposé par:
Exemple de requête en LINQ sous Visual Studio 2008
Gilles Thonney
Pascal Akermann
René Rentsch
René Rentsch
HEIG-VD © 2008 - 2009, filière Informatique