[seasar-dotnet:2287] Re: Quill、DBFluteでの同一DB、複数スキーマ、同一テーブル構造での接続について
koala
[E-MAIL ADDRESS DELETED]
2013年 6月 3日 (月) 17:58:29 JST
koalaです。
微妙に勘違いしていたようなので自己レスです。
> たまたま初めてInjectしたログインユーザーのデータソース名で
> Daoインスタンスが生成されて他のユーザーにも使いまわされるので
> 切り替わるはずがない・・・。
Quillの[S2Dao(typeof(DaoSetting))]は、「静的に」データソースを指定する機能で、
AspectBuilder.cs で、string dataSourceNameを保持する仕様になっていました。
これがデータソースが動的に切り替わらない理由でした。
なので、DaoSettingまるごと(もしくはFunc<string> DataSourceNameなど)を
保持しておけば、動的にデータソースを変更するDaoSettingでも切り替えが機能しました。
dsInterceptor = CreateDataSourceSelectInterceptor(dataSourceName);
↓
dsInterceptor = CreateDataSourceSelectInterceptor(daoSetting);
以上です。
seasar-dotnet メーリングリストの案内