2010-01-06 4 views
0

Supposons que vous ayez une seule application de portail Web utilisée par un certain nombre de clients différents. Pour des raisons de sécurité et de portabilité, les données de chaque client doivent résider dans une base de données distincte. Le schéma de chacune de ces bases de données est absolument identique.Comment relier dynamiquement une base de données différente dans vos classes de données linq to sql?

Comment accéder à ces bases de données séparées à partir d'un seul serveur SQL et comment indiquer aux classes de données Linq to SQL à quelle base de données accéder? Il suffit de passer la chaîne de connexion au constructeur DataContext.

Répondre

1

Tous les objets dans le contexte sont définis en utilisant deux noms de partie (schema.object) et lors de l'exécution, vous créez simplement le contexte en utilisant une chaîne de connexion pointant vers la bonne base de données.

1

Exemple:

var dataContext = new FooDataContext ("SomeConnectionStringDependingOnWhichDataBaseToHit"); 

Chaque requête que vous créez en fonction de ce contexte de données frappera la DB pointé sur la chaîne de connexion.

-1

Vous pouvez ajouter autant de classes Linq à Sql dont vous avez besoin.

+0

C'est correct, mais il serait boiteux d'ajouter plus d'une classe Linq à Sql qui cible le même schéma. – albertein

+0

Oui, vous avez raison. J'ai raté cette partie. Excuses. – mark123

Questions connexes