Der Versuch, die NHibernate-SessionFactory als Singleton und Session als Bereich zu definieren, wird durch die .NET Core-Abhängigkeitsinjektion gehandhabt. Ich baut die in der Startup.cs als solche:NHibernate SessionFactory von .NET Core DI behandelt
services.AddSingleton<NHibernate.ISessionFactory>(factory =>
{
return Fluently
.Configure()
.Database(() =>
{
return FluentNHibernate.Cfg.Db.MsSqlConfiguration
.MsSql2012
.ShowSql()
.ConnectionString(ConnectionString);
})
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<Model>())
.BuildSessionFactory();
});
services.AddScoped<NHibernate.ISession>(factory =>
factory
.GetServices<NHibernate.ISessionFactory>()
.First()
.OpenSession()
);
Meine Frage ist - wie kann ich genau die Session übergeben oder die Session Instanz, zum Beispiel in einer Repository-Klasse?