私は流暢NHibernateはを使用していますから:https://github.com/jagregory/fluent-nhibernateNHibernateの流暢 - 複数のデータベース構成
それがこの構成はAutofacにある別のデータベース(異なる接続文字列)
builder.Register(c =>
Fluently.Configure()
.Database(DatabaseConfiguration) // <-- Connection string 1
.Mappings(AutoMapping.Configurations)
.ExposeConfiguration(cfg => cfg.SetProperty("connection.isolation", "ReadCommitted"))
.ExposeConfiguration(cfg => cfg.SetProperty(Environment.CommandTimeout, c.Resolve<IConfig>().SqlCommandTimeoutSeconds.ToString()))
.BuildConfiguration())
.SingleInstance();
builder.Register(c =>
Fluently.Configure()
.Database(ReportingDatabaseConfiguration) // <-- Connection string 2
.Mappings(AutoMapping.Configurations)
.ExposeConfiguration(cfg => cfg.SetProperty("connection.isolation", "ReadCommitted"))
.ExposeConfiguration(cfg => cfg.SetProperty(Environment.CommandTimeout, c.Resolve<IConfig>().SqlCommandTimeoutSeconds.ToString()))
.BuildConfiguration())
.SingleInstance();
builder.Register(c =>
c.Resolve<Configuration>()
.BuildSessionFactory())
.SingleInstance();
のための複数の設定を持つことが可能です。
現在の動作は、後の動作が最初の設定を上書きします。
私の期待する結果は、私が照会しているエンティティに応じて、どのデータベースを使うべきかを知ることができるということです。
これは可能ですか?
注::私はhttp://devstoolbox.altervista.org/multiple-connections-using-nhibernate/ に記載されている解決策を試しましたが、私にとっては役に立ちません。
を返しますNH-接続クラスを登録し、これは私には意味を成しません。 私は、各Repoクラスではなく、Autofacでセッションの初期化を解決したいと考えていました。 あなたの助けをありがとう:) – Danielyap
私はあなたを聞いています。 BaseRepBb1とBaseRepoDb2を使用すると、セットアップを非表示にすることができます –