Sommaire

LINQ to SQL

Nous avons vu que LINQ sait parfaitement manipuler les objets et leurs propriétés, étant en cela un outil idéal pour la manipulation de données. Pourtant, ces collections de données ont un inconvénient majeur : la fin de l’exécution de l’application implique leur perte complète. La solution la plus courante pour conserver ces données entre plusieurs lancements de l’application consiste à utiliser une base de données à laquelle est confiée la sauvegarde de ces informations.

Malgré leurs similitudes syntaxiques, les requêtes LINQ et SQL ne sont pas compatibles. LINQ to SQL contient une implémentation de fournisseur de données pour la base de données SQL Server. Ce fournisseur permet la traduction des requêtes LINQ en langage SQL. Un autre problème est que LINQ n’est capable de manipuler que des collections d’objets. Or les bases de données ne manipulent jamais d’objets. Pour résoudre ce problème, la solution est de créer des classes représentant les données de la base de données. Cette technique est nommée mappage objet-relationnel.

La base de données utilisée par tous les exemples de cette section est la base Northwind de Microsoft. Le script SQL permettant sa création est disponible en téléchargement depuis la page Informations générales.

1. Le mappage objet-relationnel

LINQ ...