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?
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) { }
}
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.