2

J'ai donc travaillé sur un projet utilisant Entity Framework 5 en développement pendant un certain temps et il est décidé que le code devra être déplacé vers un environnement de production.Utilisation d'Entity Framework avec deux bases de données séparées (Développement et Production)

Ma question est quelle serait une bonne approche pour le faire? Ma première pensée est d'avoir deux fichiers EDMX dans mon projet, puis de commenter la chaîne de connexion de production dans mon environnement de développement et vice-versa dans l'environnement de production. Cependant cela ne semble pas faisable car je ne peux pas avoir deux modèles d'entité avec le même nom dans la chaîne de connexion, ce qui entraîne la modification de l'instance de "contexte" du modèle dans mon code, ce qui n'a aucun sens. Une autre pensée que j'ai eue était simplement de modifier la chaîne de connexion du modèle utilisé par la base de développement pour pointer vers la source de données de production (puisqu'ils ont tous deux la même structure de table). Mais je ne sais pas si je vais casser quoi que ce soit ici.

J'ai regardé ce poste ici et il n'a pas aidé: Entity framework working with both production and development database

Note: Je ne suis pas en utilisant le code premier motif, mais la génération du modèle à partir de la base de données et que tant le développement et la base de données de production avoir une structure de base de données de synchronisation.

Merci!

Répondre

4

Vous pouvez utiliser des transformations dans votre fichier web.config pour basculer automatiquement vers la base de données référencée.

Découvrez cette même réponse: Web.Config Debug/Release

+0

Oui Les transformations sont la voie à suivre, si vous avez quelque chose de plus exotique que le look web.config normal à [SlowCheetah] (http://visualstudiogallery.msdn.microsoft .com/69023d00-a4f9-4a34-a6cd-7e854ba318b5) qui transforme pour d'autres fichiers XML. – Jafin

1

Vous avez toujours la chaîne de connexion dans votre web.config (ouais, grand, longue chaîne de connexion de l'entité, mais il est là). Assurez-vous simplement que la chaîne de connexion dans votre déploiement de production pointe vers le serveur de base de données de production. Je suggère d'utiliser config transforme:

http://msdn.microsoft.com/en-us/library/dd465326.aspx

Questions connexes