Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez créer des applications multiniveaux qui utilisent LINQ to SQL. En règle générale, le contexte de données LINQ to SQL, les classes d’entité et la logique de construction de requête se trouvent sur le niveau intermédiaire en tant que couche d’accès aux données (DAL). La logique métier et toutes les données non persistantes peuvent être implémentées complètement dans des classes partielles et des méthodes d’entités et du contexte de données, ou elles peuvent être implémentées dans des classes distinctes.
La couche client ou de présentation appelle des méthodes sur l’interface distante du niveau intermédiaire, et la couche DAL sur ce niveau exécute des requêtes ou des procédures stockées mappées aux DataContext méthodes. Le niveau intermédiaire retourne les données aux clients généralement sous forme de représentations XML d’entités ou d’objets proxy.
Sur le niveau intermédiaire, les entités sont créées par le contexte de données, qui effectue le suivi de leur état et gère le chargement différé à partir et l’envoi de modifications à la base de données. Ces entités sont « attachées » au DataContext. Toutefois, une fois que les entités sont envoyées à un autre niveau par le biais de la sérialisation, elles deviennent détachées, ce qui signifie que l’état DataContext n’est plus suivi. Les entités renvoyées par le client pour les mises à jour doivent être attachées au contexte de données avant 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, le LinqDataSource gère la plupart de cette complexité. Pour plus d’informations, consultez La vue d’ensemble du contrôle de serveur web LinqDataSource.
Ressources additionnelles
Pour plus d’informations sur l’implémentation d’applications multiniveau qui utilisent LINQ to SQL, consultez les rubriques suivantes :
Pour plus d’informations sur les applications multiniveau qui utilisent ADO.NET DataSets, consultez Utiliser des jeux de données dans des applications multiniveau.