Ich bin mit Fluent NHibernate aus: https://github.com/jagregory/fluent-nhibernateNHibernate Fluent - Mehrere Datenbanken Konfiguration
Ist es möglich, mehrere Konfiguration für verschiedene Datenbank (unterschiedliche Verbindungszeichenfolge)
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();
Diese Konfiguration ist in Autofac zu haben.
Das aktuelle Verhalten ist das spätere überschreibt die erste Konfiguration.
Mein erwartetes Ergebnis ist, dass ISession wissen sollte, welche Datenbank abhängig von der Entität, die ich abfrage, verwendet werden soll.
Ist das möglich?
Hinweis: Ich habe die Lösung in http://devstoolbox.altervista.org/multiple-connections-using-nhibernate/ erwähnt versucht, aber für mich nicht funktioniert.
gut erklärt und dies macht Sinn für mich zurück. Ich hatte gehofft, die Sitzungsinitialisierung in Autofac und nicht in jeder der Repo-Klassen aufzulösen. Danke für Ihre Hilfe :) – Danielyap
Ich höre dich. Sie können immer mit einem BaseRepBb1 und BaseRepoDb2 arbeiten, um das Setup auszublenden –