我有一個應用程序,必須爲許多用戶訪問。 爲了優化性能,我打算將每個用戶配置文件信息存儲在一個獨立的數據庫文件中。subsonic SQLite多個文件
我每次需要用戶登錄應用程序時,都需要設置一個與自己的數據庫鏈接的新提供程序。所有的數據庫都有相同的結構。因此,在查詢用戶時,生成的DAL類必須相對於用戶切換數據庫文件。
是否有配置SubSonic在運行時進行切換的方法?
謝謝。
我有一個應用程序,必須爲許多用戶訪問。 爲了優化性能,我打算將每個用戶配置文件信息存儲在一個獨立的數據庫文件中。subsonic SQLite多個文件
我每次需要用戶登錄應用程序時,都需要設置一個與自己的數據庫鏈接的新提供程序。所有的數據庫都有相同的結構。因此,在查詢用戶時,生成的DAL類必須相對於用戶切換數據庫文件。
是否有配置SubSonic在運行時進行切換的方法?
謝謝。
好吧,假設我們正在談論SubSonic3:
我已經爲這個補丁並記錄它作爲在github亞音速模板項目中,提供源代碼的問題。你可以找到問題(和代碼鏈接)here。
應用此修補程序後,您將擁有一個新的DefaultDataProvider
屬性,該屬性完全符合您的需要。像這樣使用它(例如在用戶登錄後):
YourSubSonicGeneratedNamespace.YourDatabaseName.DefaultDataProvider =
SubSonic.DataProviders.ProviderFactory.GetProvider(
"your connection string here",
SubSonic.DataProviders.DbClientTypeName.SqlLite);
而且你很好。
對於SubSonic 2,this answer聽起來像你想要的。
Jon 我正在使用Subsonic 2.0 而且我無法訪問源代碼。 還有另外一種選擇嗎? 謝謝! – 2010-05-13 12:59:34
@Marcus:更新了我的答案,指出了相關的SubSonic 2問題。 – Jon 2010-05-13 18:16:12
亞音速2我使用的方法是在運行時注入提供程序,而不是從app.config文件加載它。
看我的答案在這裏:Subsonic in a VS2008 Add-In woes
而不是隻使用一個供應商,你可以創建一個誰啓動應用程序的每個用戶,並根據需要更改默認的供應商。
這是關於SubSonic 3的嗎? – Jon 2010-05-12 21:01:45