2009-09-17 3 views
2

Je ne fais que commencer avec SubSonic 3 et jouer avec l'approche SimpleRepository. Quelle est la durée de vie prévue des classes SimpleRepository lorsqu'elles sont utilisées dans une application de bureau?Gestion à vie d'un SimpleRepository

Etes-vous censé continuer à créer une nouvelle instance à chaque fois que vous souhaitez toucher la base de données? Dois-je créer une instance à utiliser pour chaque groupe d'appels de base de données qui se produisent ensemble? Dois-je créer une instance singleton lorsque le programme démarre et l'utiliser pour tout?

Je suppose que c'est l'une des deux secondes options, mais il n'est pas clair pour moi s'il serait prudent de créer une seule instance et de l'utiliser pour tous les appels ou non. Je vais utiliser un conteneur IoC si cela est important.

Répondre

3

Il n'y a pas de mal à garder la chose en vie pendant la durée de la session de bureau (assurez-vous de désactiver les trucs de migration). Quand j'ai testé le repo, j'ai gardé un ouvert tout le temps et je n'ai vu aucun problème avec les fuites de mémoire - mais assurez-vous de fermer tous les lecteurs si vous les exécutez etc

+0

Merci Rob! Je me demande pourquoi le commentaire sur "assurez-vous de désactiver les trucs de migration"? Est-ce que la migration automatique serait un problème pour une raison quelconque? Est-ce que cela cause beaucoup de frais généraux à chaque appel ou quelque chose (par opposition à seulement le premier appel)? –

+0

Si c'est le cas, chaque fois que vous parlez à la base de données, il vérifie votre schéma et effectue une comparaison. Ceci est une fonctionnalité de développement uniquement :) –

+0

Uhm .. comment pouvez-vous désactiver les "choses de migration"? .. Je ne trouve pas de documents sur cette question – Radu094

Questions connexes