Linq Sql.

Présentation

Linq SQL permet de recopier des données d'un SGBD vers une ou plusieurs classes d’objets. Ensuite il est possible de travailler sur ces objets:

Linq Sql est l'équivallent Dot Net des EJB entités de J2EE.

Linq sql versus Ado

De fait Linq Sql agit sur la base de données via ADO. Il en découle:

 

Linq SQl implémente le mapping objet relationnel demandé depuis longtemps par les programmeurs objet. C'est un concept théorique intéressant.

Discussion.

Utilisation massive.

Dans cette approche l’intégralité des données est recopiée dans la mémoire du poste client sous la forme d’un modèle objet.

 

Cette approche est bien adaptée aux besoins des programmeurs objets.

Les programmeurs peuvent travailler sur leur modèle objet avec de simples techniques d’affectation de variable, puis tout sauvegarder dans le SGBD.

 

PPour un programmeur objet, le SGBD n’est qu’un outil de persistance au même titre par exemple qu’un fichier xml ou un paquet de cartes perforées. C'est cependant ignorer qu’un SGBD peut faire beaucoup plus que cela.

 

Pour une application multiposte, il y a danger puisque chaque poste possède sa copie des données, il est inévitable que la consolidation dans le SGBD, par submitChanges(), posera problème..

 

Utilisation partielle.


En ce cas le poste client fait une extraction partielle des données dont il a besoin, fait les mises à jour nécessaires puis renvoie l’ensemble vers le SGBD par submitChanges(). Le SGBD reste la référence des données. Il est alors pertinent dans les cas délicats d’intercepter la mise à jour en programmant dans le DataContext les méthodes update adéquat. Il est de bonne pratique de passer par des procédures stockées du SGBD. Cette approche mixte peut déplaire aux théoriciens.

 

Voir le polycopié.

Proposition de programme de formation.

Retour au menu général.