private ISessionFactory CreateSessionFactory() { FluentConfiguration fluentConfiguration = Fluently.Configure(); IPersistenceConfigurer sqlConfiguration = CreateSqlConfiguration(); if (sqlConfiguration != null) { fluentConfiguration = fluentConfiguration.Database(sqlConfiguration); } mappingResolver.AddAvailableMappings(fluentConfiguration); var eventListenerHelper = new EventListenerHelper(securityService); var saveOrUpdateEventListener = new SaveOrUpdateEventListener(eventListenerHelper); var deleteEventListener = new DeleteEventListener(eventListenerHelper); fluentConfiguration = fluentConfiguration .Mappings(m => m.FluentMappings .Conventions.Add(ForeignKey.EndsWith("Id")) .Conventions.Add <EnumConvention>()) .ExposeConfiguration(c => c.SetProperty("show_sql", "false")) .ExposeConfiguration(c => c.SetListener(ListenerType.Delete, deleteEventListener)) .ExposeConfiguration(c => c.SetListener(ListenerType.SaveUpdate, saveOrUpdateEventListener)) .ExposeConfiguration(c => c.SetListener(ListenerType.Save, saveOrUpdateEventListener)) .ExposeConfiguration(c => c.SetListener(ListenerType.Update, saveOrUpdateEventListener)); return(fluentConfiguration .BuildConfiguration() .BuildSessionFactory()); }
private ISessionFactory CreateSessionFactory() { var eventListenerHelper = new EventListenerHelper(principalAccessor); var saveOrUpdateEventListener = new SaveOrUpdateEventListener(eventListenerHelper); var deleteEventListener = new DeleteEventListener(eventListenerHelper); return (Fluently.Configure() .Mappings(m => m.FluentMappings.AddFromAssemblyOf <IEntity>() .Conventions.Add(ForeignKey.EndsWith("Id")) .Conventions.Add <EnumConvention>()) .ExposeConfiguration(c => c.SetListener(ListenerType.Delete, deleteEventListener)) .ExposeConfiguration(c => c.SetListener(ListenerType.SaveUpdate, saveOrUpdateEventListener)) .ExposeConfiguration(c => c.SetListener(ListenerType.Save, saveOrUpdateEventListener)) .ExposeConfiguration(c => c.SetListener(ListenerType.Update, saveOrUpdateEventListener)) .BuildConfiguration() .BuildSessionFactory()); }