Question

J'ai un serveur SQL avec 50 bases de données. Chacun a exactement le même schéma. J'ai utilisé le super subsonique 2.2 créer le DAL basé sur l'un d'eux.

Je dois faire une boucle si une liste de noms de bases de données et se connecter à chacun et effectuer une mise à jour une à la fois.

Si un moyen de modifier la façon dont subsonique utilise la chaîne de connexion. Je crois que je aurais besoin de stocker la chaîne de connexion en mémoire de cette façon, il peut continuer à changer.

Est-ce possible?

J'ai essayé de faire un

ConfigurationManager.ConnectionStrings["theConnStrName"].ConnectionString = updated-connection-string-here;

.. mais cela ne fonctionne pas

merci!

Était-ce utile?

La solution

Subsonic a été conçu principalement pour une seule base de données. Je l'ai fait plusieurs bases de données de plusieurs façons. J'avais posté un échantillon complet pour la création de fournisseurs à la volée dans les anciens forums pour subsonique. Ces postes sont partis maintenant. Ce que vous pouvez essayer est mis en place un fournisseur dans le fichier de configuration (yourProviderName) avec une chaîne de connexion factice juste pour initialiser subsonique, puis définir la chaîne de connexion réelle au besoin dans votre code. Cela fonctionne uniquement avec une base de données à la fois, mais je pense que c'est ce que vous avez besoin. Si vous souhaitez utiliser plusieurs bases de données en même temps, et implique plus de code et quelques changements dans le noyau subsonique 2.x.

DataProvider provider = DataService.GetInstance(yourProviderName);
foreach(string connString in connectionStrings)
{
    provider.DefaultConnectionString = connString;
    DataService.Provider = provider;
    // ... do stuff
}

Autres conseils

Je ne pense pas qu'il est facile de fixer sans créer un fournisseur subsonique pour chaque base de données.

Au lieu de cela, je mettrais la SubSonic source comme un projet dans la solution et déboguer mon chemin vers le meilleur et le plus propre à étendre le code wwith une sorte de chaîne de connnection liste dictionnaire et fonctionnalité pour définir celui que vous voulez à un temps donné.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top