Comment utiliser la chaîne de connexion dynamique pour SQL Server CE?

j'ai utilisé SQL Server CE 4.0 dans mon application windows et j'utilise Entity Framework pour en créer un modèle.

cela fonctionne bien mais mon problème est qu'il n'a pas de constructeur pour changer la chaîne de connexion, et par défaut il lit la chaîne de connexion à partir du fichier app.config .

 using (var Context = new MyEntitiesModel(//has no constructor))
 {
        ...
 }

je crée une chaîne de connexion dynamique et

  using (var Context = new MyEntitiesModel())
   {
         Context.Database.Connection.ConnectionString = entityConnection.ConnectionString;
   }

cela fonctionne très bien de cette façon, mais si je supprime une autre connexion la chaîne de caractères du fichier app.config m'a donné ceci.

erreur = non valide metasource ....

parce que le constructeur par défaut l'utilise

Comment puis-je le supporter?

6
demandé sur marc_s 2012-09-30 14:56:24

2 réponses

créez votre propre constructeur. MyEntitiesModel est une classe partielle vous pouvez ajouter votre propre partie partielle de la classe et Ajouter un constructeur acceptant une chaîne de connexion.

public partial class MyEntitiesModel {
    public MyEntitiesModel(string connectionString) : base(connectionString) { }
}
2
répondu Ladislav Mrnka 2012-09-30 12:58:02

Im utilisant DbContext. Il y a plusieurs constructeurs de surcharge eg: ObjectContext a aussi un jeu similaire de surcharges de constructeur.

Système

.Données.Entité DbContext exemple

Context = new BosMasterEntities(nameOrConnectionString: nameOrConnectionString);

vous pouvez vous connecter à plusieurs Dbs en même temps.

1
répondu phil soady 2012-10-12 13:49:30