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(); }
private ISessionFactory CreateSessionFactory() { FluentConfiguration fluentConfiguration = Fluently.Configure(); MsSqlConfiguration sqlConfiguration = null; if (!string.IsNullOrEmpty(configuration.Database.ConnectionString)) { sqlConfiguration = MsSqlConfiguration.MsSql2008.ConnectionString(configuration.Database.ConnectionString); } else if (!string.IsNullOrEmpty(configuration.Database.ConnectionStringName)) { sqlConfiguration = MsSqlConfiguration.MsSql2008.ConnectionString(f => f.FromConnectionStringWithKey(configuration.Database.ConnectionStringName)); } if (sqlConfiguration != null) { if (!string.IsNullOrEmpty(configuration.Database.SchemaName)) { sqlConfiguration.DefaultSchema(configuration.Database.SchemaName); } 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(); }