Ne vous souciez pas trop de l'ouverture et de la fermeture des connexions. Le pilote MongoDB C# maintient un pool de connexions interne, de sorte que vous ne subirez pas de frais généraux liés à l'ouverture et à la fermeture de connexions réelles chaque fois que vous créez un nouveau MongoServer
objet.
Vous pouvez créer une interface de référentiel qui expose votre logique de données et créer une implémentation MongoDB qui est injectée là où elle est nécessaire. De cette façon, le code de connexion spécifique à MongoDB est extrait de votre application, qui ne voit que l'IRepository.
Soyez prudent lorsque vous essayez d'implémenter un modèle de type d'unité de travail avec MongoDB. Contrairement à SQL Server, vous ne pouvez pas inscrire plusieurs requêtes dans une transaction qui peut être annulée en cas d'échec.
Pour un exemple simple d'un modèle de référentiel qui a des implémentations MongoDB, SQL Server et JSON, consultez le Code de stockage NBlog . Il utilise Autofac IoC pour injecter des référentiels concrets dans une application ASP.NET MVC.