Partager via


Applications multicouches et distantes avec LINQ to SQL

Vous pouvez créer des applications multiniveaux qui utilisent LINQ to SQL. En général, le contexte de données , les classes d’entité et la logique de construction des requêtes de LINQ to SQL se trouvent sur le niveau intermédiaire comme couche d’accès aux données. 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 réattaché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 de serveur web LinqDataSource.

Ressources supplémentaires

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

Pour plus d’informations sur les applications multiniveaux qui utilisent des DataSets ADO.NET, consultez Utiliser des datasets dans les applications multiniveaux.

Voir aussi