2010-05-31 6 views
2

Je travaille actuellement sur une application Web similaire à Steamworks (si vous ne savez pas ce que c'est, c'est un service pour les jeux pour stocker les réalisations, les statistiques, etc).C# LINQ & ajouter des bases de données après le déploiement

Le problème majeur que j'ai rencontré dans le développement de cette solution est l'ajout de nouvelles bases de données pour les jeux après le déploiement de l'application. J'utilise LINQ-to-SQL pour interroger la base de données de manière appropriée, mais le problème majeur est que, avec des bases de données supplémentaires nécessitant la création de requêtes après le déploiement de l'application, je ne sais pas comment structurer les requêtes à partir de différentes bases de données. LINQ.

Avoir à ajouter un nouveau DataContext, recompiler et re = déployer l'application est hors de question. J'ai pensé à faire ceci à travers une structure de plugin mais cela ne fonctionnera pas, étant donné que DataContext contient les références aux noms de colonnes, etc.

Quelqu'un a-t-il une suggestion sur la façon de surmonter cela? Je peux toujours revenir à l'interrogation SQL traditionnelle, mais je préfère ne pas le faire. Tous les noms de colonnes et la structure de chaque base de données seront identiques, il suffit d'ajouter de nouvelles bases de données et de faire en sorte que l'application les utilise est le problème majeur.

Répondre

2

Si tous les noms de colonnes et structures à travers chaque base de données sont identiques, vous pouvez peut-être remplacer la chaîne de connexion dans le constructeur du DataContext comme indiqué ci-dessous:

Ancienne version:

public DatabaseDataContext() : base("...your connection string...", mappingSource) 
{ 
    OnCreated(); 
} 

Nouvelle version: Ensuite, enregistrez toutes vos connectionstring dans une table externe de fichier/base de données et récupérez celle dont vous avez besoin ou bouclez-les. :)

J'espère avoir compris votre question.

+0

Merci pour la réponse rapide, je vais essayer. Cela semble être ce que je cherche. –

Questions connexes