public NHibernateRegistry(IContainer settingsContainer) { var autoMappingCfg = new AutoMappingCfg(); var databaseCfg = settingsContainer.GetInstance<IPersistenceConfigurer>(); //SQLiteConfiguration.Standard.ConnectionString(connectionString); var sesstionFactory = Fluently.Configure() .Database(databaseCfg) .Mappings(m => { m.FluentMappings.AddFromAssembly(typeof(EstacionamentoMap).Assembly) .Conventions.Add<MyManyToManyConvention>(new MyManyToManyConvention()) .Conventions.Add<PropertyConvention>(new PropertyConvention()) .Conventions.Add<EnumConvention>(new EnumConvention()); }) .ExposeConfiguration(config => config.SetInterceptor(new TrackingInterceptor())) .ExposeConfiguration(cfg => cfg.Properties.Add("current_session_context_class", "thread")) .BuildSessionFactory(); For<ISessionFactory>().Singleton().Use(sesstionFactory); For<ISession>().HybridHttpOrThreadLocalScoped().Use(context => context.GetInstance<ISessionFactory>().OpenSession(new TrackingInterceptor())); For(typeof(IRepository<>)).Use(typeof(NHibernateRepository<>)); }
public NHibernateRegistry(IContainer settingsContainer) { var autoMappingCfg = new AutoMappingCfg(); var databaseCfg = settingsContainer.GetInstance<IPersistenceConfigurer>(); //SQLiteConfiguration.Standard.ConnectionString(connectionString); var sesstionFactory = Fluently.Configure() .Database(databaseCfg) .Mappings(m => { m.FluentMappings.AddFromAssembly(typeof(EstacionamentoMap).Assembly) .Conventions.Add<MyManyToManyConvention>(new MyManyToManyConvention()) .Conventions.Add<PropertyConvention>(new PropertyConvention()) .Conventions.Add<EnumConvention>(new EnumConvention()); }) .ExposeConfiguration(config => config.SetInterceptor(new TrackingInterceptor())) .ExposeConfiguration(cfg => cfg.Properties.Add("current_session_context_class", "thread")) .BuildSessionFactory(); For<ISessionFactory>().Singleton().Use(sesstionFactory); For<ISession>().HybridHttpOrThreadLocalScoped().Use(context => context.GetInstance<ISessionFactory>().OpenSession(new TrackingInterceptor())); For(typeof(IRepository<>)).Use(typeof(NHibernateRepository<>)); }