1 votes

Meilleures pratiques pour les sources de données Linq to SQL

Lorsque j'utilise linq to SQL dans mon projet, je crée actuellement le contexte de données le plus tard possible dans l'exécution du code et j'en dispose le plus tôt possible. Il en résulte que le contexte de données est ouvert et fermé de nombreuses fois sur une page.

Une autre option consiste à ouvrir la classe de données au chargement de la page et à la supprimer au déchargement de la page, de sorte que la connexion ne soit ouverte et fermée qu'une seule fois.

Existe-t-il une différence significative dans l'optimisation entre les deux méthodes ou l'une d'entre elles représente-t-elle une meilleure pratique ?

Ma première idée était que je voulais que la connexion soit ouverte le moins longtemps possible, mais compte tenu de la vitesse de chargement d'une page, est-ce que je me fais perdre plus de temps en ouvrant et en fermant ces connexions qu'il n'en vaut la peine en termes de ressources pour les garder ouvertes ?

3voto

p.campbell Points 42771

Une chose à prendre en compte : la DataContext n'a pas d'incidence sur la durée de vie de la connexion au serveur SQL. L'instruction SQL générée par votre Linq To Sql n'est exécutée que lorsque vous évaluez votre requête.

Ainsi, lorsque vous appelez (par exemple), . ToList() ou appelez le .DataBind() puis l'instruction SQL est exécutée. La connexion est ouverte et fermée à ce moment-là.

1voto

Tigraine Points 10047

Dans les coulisses, le gestionnaire LinQ to SQL utilise un pool de connexion. Donc, à moins que vous ne supprimiez explicitement la connexion d'une manière ou d'une autre, cela ne devrait pas vous concerner.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X