2009-07-01 15 views
0

Ich habe eine Anwendung erstellt mit ActiveRecord für die es eine neue Anforderung ist, den Benutzer zu ermöglichen, eine Datenbank auszuwählen, die sie zu verschiedenen Zeiten während der Ausführung von ausführen möchten die Anwendung.Wie kann ich die Verbindung ändern, die von Castle ActiveRecord verwendet wird

Die Datenbankverbindung wird im Aufruf ActiveRecordStart.Initialize eingerichtet. Ich möchte in der Lage sein, diese Verbindung zu ändern, wenn der Benutzer wählt, mit einer neuen Datenbank zu arbeiten. Ich sehe jedoch keine Möglichkeit, dies zu tun.

DifferentDatabaseScope erlaubt die Verwendung einer anderen Verbindung, überschreibt jedoch nur die Verbindungskonfiguration im Initialize-Aufruf und muss für jeden ActiveRecord-Aufruf verwendet werden, der Hunderte enthält. Dies ist also weniger als ideal.

Ist mir irgendwie nicht bewusst, die 'Basis' Verbindung, die in der Initialisierung eingerichtet ist, zu ändern?

Antwort

0

Wenn DifferentDatabaseScope nicht ausreicht, versuchen Sie, eine benutzerdefinierte IConnectionProvider zu schreiben, die eine IDbConnection erstellt, die auf die vom Benutzer ausgewählte Datenbank verweist.

Verwandte Themen