Question

Je ne sais pas quand créer des instances d'objet ou des classes d'assistance statique. Par exemple, si j'appelle une méthode pour mettre à jour un modèle de données et l'envoyer à la base de données, je crée une instance du DataContext. Quelle est la durée de vie de ce Datacontext et est-il correct de créer de nouvelles instances chaque fois que de nouvelles mises à jour de données sont nécessaires?

Dans mon contrôleur, j'ai créé une instance de DataCOntext et l'ai réutilisée lors de la publication sur le contrôleur, par exemple.

Était-ce utile?

La solution

Le DataContext est une classe assez légère et est destiné à être utilisé pour une unité de travail. En règle générale, je passe dans une fabrique qui créera un DataContext approprié en fonction des besoins. Je vais généralement envelopper ceci dans un bloc using et convertir les résultats en une liste (ou un autre objet) afin que la requête soit exécutée dans le code du contrôleur et que les objets résultants soient transmis à ma vue. De cette façon, le DataContext peut être supprimé (du bloc using) dans la méthode du contrôleur.

La raison pour laquelle une usine est injectée dans le contrôleur est double: cela permet de créer le DataContext à la demande et d’utiliser une usine qui génère un modèle de DataContext à des fins de test. Ce dernier me permet d’éviter d’utiliser la base de données dans mes tests unitaires.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top