Partager via


Applications multicouches et distantes avec LINQ to SQL

Mise à jour : November 2007

Vous pouvez créer des applications multicouches qui utilisent LINQ to SQL. En général, le contexte de données LINQ to SQL, les classes d'entité et la logique de construction de requête sont situés sur la couche intermédiaire nommée couche Data Access. La logique métier et toutes les données non persistantes peuvent être implémentées entièrement dans des classes et des méthodes partielles et le contexte de données, ou ils peuvent être implémentés dans des classes distinctes.

Le niveau client ou la couche Présentation appelle des méthodes sur l'interface distante de la couche intermédiaire, et la couche Data Access sur cette couche exécutera des requêtes ou des procédures stockées qui sont mappées aux méthodes DataContext. La couche intermédiaire retourne les données aux clients généralement sous la forme de représentations XML d'entités ou objets proxy.

Sur la couche intermédiaire, les entités sont créées par le contexte de données, qui suit leur état et gère le chargement et la soumission différés des modifications à partir de et vers la base de données. Ces entités sont "attachées" au DataContext. Toutefois, après que les entités ont été envoyées vers une autre couche par le biais de la sérialisation, elles deviennent détachées, ce qui signifie que DataContext ne suit plus leur état. Les entités que le client renvoie pour les mises à jour doivent être préalablement rattachées au contexte de données pour que LINQ to SQL puisse soumettre les modifications à la base de données. Le client est chargé de renvoyer les valeurs et/ou horodatages d'origine à la couche intermédiaire si ceux-ci sont requis pour les contrôles d'accès concurrentiel optimiste.

Dans les applications ASP.NET, LinqDataSource gère la plus grande part de cette complexité. Pour plus d'informations, consultez Vue d'ensemble du contrôle serveur Web LinqDataSource.

L'illustration suivante représente l'architecture de base d'une application multicouche qui utilise LINQ to SQL dans la couche Data Access.

Architecture multicouche LINQ to SQL

Ressources supplémentaires

Pour plus d'informations sur l'implémentation des applications multicouches qui utilisent LINQ to SQL, consultez les rubriques suivantes :

Pour plus d'informations sur les applications multicouches qui utilisent les groupes de données ADO.NET, consultez Applications de données multicouches.

Voir aussi

Autres ressources

Informations générales (LINQ to SQL)