2009-07-27 11 views
0

Je suis peut-être un peu au-dessus de ma tête ici - mais j'espère que quelqu'un peut me diriger dans la bonne direction. Utilisation des derniers fichiers SOURCE pour SubSonic 2 - Je dois être en mesure de manipuler le CONNECTIONSTRING pour des requêtes spécifiques basées sur l'UTILISATEUR.SubSonic 2.2: DefaultConnectionString

Je pensais que je pouvais DefaultConnectionString est DataProvider.cs modifie - mais HttpContext.Current semble toujours être nulle lorsque cette propriété est appelée

Quand est appelé par ce subsonique (même quand il est à travers une requête http.) ? Je suppose qu'il est à un moment où le cycle de vie de la page n'existe pas et, par conséquent, les données HTTPCONTEXT/PROFILE sont toujours manquantes.

Y at-il un moyen de contourner ce problème? Fondamentalement, j'ai plusieurs bases de données de structure identiques que je souhaite accéder en utilisant SubSonic (mêmes structures) et je veux choisir la base de données à utiliser en fonction du profil de l'utilisateur actuel, des suggestions?

Répondre

1

Vous pouvez spécifier plusieurs fournisseurs dans votre configuration, puis choisir celle à utiliser lors de l'exécution. Voir la question suivante pour savoir comment:

Separate Read/Write Connection for SubSonic

1

Si vous comptez sur plusieurs fournisseurs dans web.config encore ne vous aidera pas à joindre de nouvelles bases de données à l'exécution puisque vous aurez hardcoded les chaînes de connexion. Pour une application Windows Forms, la commutation des chaînes de connexion est très facile. Pour une application Web, vous devez être certain que les sessions Web simultanées ne voient que leur base de données assignée. Il y a beaucoup de statiques dans ss2x qui rendent cela moins facile.

Cela a été couvert avant et vous pouvez l'utiliser comme une recherche google: « site shareddbconnectionscope: http://subsonicproject.com »

Beaucoup de vieilles discussions du forum et des exemples de code sont maintenant disparu.

Il y a quelques informations dans les docs. Je pensais que c'était un sujet intéressant. La plupart des ORM ne traitent pas vraiment plusieurs bases de données: Am I the only one that queries more than one database?

Questions connexes