Je travaille actuellement sur un projet ASP.NET MVC 2 qui nécessite plusieurs instances de la même base de données SQL Server 2008 R2 (une en production en utilisant la réplication SQL, les autres étant son homologue de développement, permettant des mises à jour de schémas et des tests de nos applications localement avant la production, une instance avec la réplication SQL activée, une autre sans elle).Entity Framework & ASP.NET MVC 2: Choix d'une instance de base de données à la volée
Actuellement, nous avons besoin de trois instances de la même base de données pour effectuer nos tâches sans entraver les activités de production.
Je ne sais pas si c'est la bonne façon autour, mais la façon dont je change instance de la DB est la suivante:
- Aller dans le web.config, retirez le connectionString actif du DB
- Supprimer le Database.edmx courant
- Créer une nouvelle EDMX pour pointer vers l'autre base de données
- Ouvrez le nouveau Database.edmx avec l'éditeur XML et remplacer ceci:
<Property Name="rowguid" Type="uniqueidentifier" Nullable="false" />
avec ceci:<Property Name="rowguid" Type="uniqueidentifier" Nullable="false" StoreGeneratedPattern="Computed"/>
- Générez le projet de déploiement
- Installer la configuration soit sur notre serveur de production, ou sur notre serveur de test
Est-il possible de le faire de manière plus rapide et plus pratique ? Dans le projet, ou dans la solution de déploiement, peut-être?
Je vais tenter le coup et vous faire part de mes résultats, merci pour le conseil RPM1984! – LoganWolfer
Il me manque du temps sur mon planning pour le configurer, pour le moment j'utilise trois .edmx et remplace à la fois la chaîne de connexion et DatabaseEntities (bon 'ol Ctrl + H) et ça fait l'affaire pour le moment. Je posterai ma solution complète quand j'aurai le temps de le faire, pour référence future. Merci. :) – LoganWolfer
@LoganWolfer - c'est bien, parfois les contraintes de temps sont un problème. C'est pourquoi il est très important de démarrer un nouveau projet pour mettre en place de bonnes pratiques/fondations (comme l'injection de dépendance).Cela étant dit, peu de projets auraient votre scénario de 3 bases de données différentes pour une solution. :) – RPM1984