protected static Configuration CreateConfiguration() { // Configuration config; config = new Configuration(); config.AddAuxiliaryDatabaseObject(new SpatialAuxiliaryDatabaseObject(config)); if (UseHibernateConfigurationSection) { config.Configure(); } // Se fija si tiene que agregar seteos extra SetDefaultConfigSettings(config); // Listo foreach (string assembly in GetEntityAssemblies()) { Assembly ass = Assembly.Load(assembly); if (UseHibernateConfigurationSection == false) { config.AddAssembly(assembly); } } config.AddAssembly("medea.data"); return(config); }
public void Wire() { var conf = new Configuration(); conf.AddAuxiliaryDatabaseObject(new SpatialAuxiliaryDatabaseObject(conf)); conf.DataBaseIntegration(x => { x.Dialect <ABSqlDialect>(); x.KeywordsAutoImport = Hbm2DDLKeyWords.AutoQuote; x.Timeout = 60; x.BatchSize = 100; }); conf.Cache(x => { x.Provider <SysCacheProvider>(); x.UseQueryCache = true; x.DefaultExpiration = 120; }); //conf.QueryCache().ResolveRegion("SearchStatistic").Using<TolerantQueryCache>().AlwaysTolerant(); conf.AddResource("ABServicios.BLL.Mappings.CustomTypes.xml", typeof(RecargaSUBE).Assembly); conf.AddAssembly(typeof(RecargaSUBE).Assembly); conf.SetProperty(Environment.SqlExceptionConverter, typeof(MsSqlExceptionConverter).AssemblyQualifiedName); conf.Configure(); container.Register(Component.For <ISessionFactory>().UsingFactoryMethod(() => conf.BuildSessionFactory())); }
public static Configuration SetSpatialAuxilaryObject(this Configuration cfg, Action <SpatialAuxiliaryDatabaseObject> map) { var obj = new SpatialAuxiliaryDatabaseObject(cfg); map(obj); cfg.AddAuxiliaryDatabaseObject(obj); return(cfg); }
private void BuildSchema(Configuration config, IInterceptor interceptor, DbConnectionString.DataBaseIntegration needValidate) { SchemaMetadataUpdater.QuoteTableAndColumns(config, new SbDialect()); #if DEBUG if (interceptor != null) { config.SetInterceptor(interceptor); } #endif // var eventPublisherListener = new PublishEventsListener(_publisher); config.SetListener(ListenerType.PostCommitDelete, _publisher); config.SetListener(ListenerType.Delete, new SoftDeleteEventListener()); config.SetListener(ListenerType.PostCommitInsert, _publisher); config.SetListener(ListenerType.PostCommitUpdate, _publisher); config.SetListener(ListenerType.PostCollectionUpdate, _publisher); foreach (var t in Assembly .GetExecutingAssembly() .GetTypes() .Where(t => typeof(AbstractAuxiliaryDatabaseObject).IsAssignableFrom(t))) { config.AddAuxiliaryDatabaseObject(Activator.CreateInstance(t) as IAuxiliaryDatabaseObject); } //var enversConf = new NHibernate.Envers.Configuration.Fluent.FluentConfiguration(); //enversConf.Audit<Document>() // .Exclude(x => x.Transactions) // .ExcludeRelationData(x => x.University) // .Exclude(x => x.Votes) // .Exclude(x => x.Course) // .Exclude(x => x.User) // .Exclude(x => x.Status.FlaggedUser) // .ExcludeRelationData(x => x.Tags); //config.IntegrateWithEnvers(enversConf); config.LinqToHqlGeneratorsRegistry <MyLinqToHqlGeneratorsRegistry>(); //config.SessionFactory().Caching.WithDefaultExpiration(TimeConst.Day); //config.Properties.Add("cache.default_expiration",$"{TimeConst.Day}"); //config.Properties.Add("cache.use_sliding_expiration",bool.TrueString.ToLowerInvariant()); switch (needValidate) { case DbConnectionString.DataBaseIntegration.None: break; case DbConnectionString.DataBaseIntegration.Validate: config.DataBaseIntegration(dbi => dbi.SchemaAction = SchemaAutoAction.Validate); break; case DbConnectionString.DataBaseIntegration.Update: config.DataBaseIntegration(dbi => dbi.SchemaAction = SchemaAutoAction.Update); break; } }
private void DropSchema() { // Isolated configuration doesn't include SpatialReferenceSystem mapping, Configuration configuration = CreateConfiguration(); configuration.AddAuxiliaryDatabaseObject(new SpatialAuxiliaryDatabaseObject(configuration)); new SchemaExport(configuration).Drop(Settings.Default.OutputDdl, true); OnAfterDropSchema(); }
private void CreateSchema() { OnBeforeCreateSchema(); // Isolated configuration doesn't include SpatialReferenceSystem mapping, Configuration configuration = CreateConfiguration(); configuration.AddAuxiliaryDatabaseObject(new SpatialAuxiliaryDatabaseObject(configuration)); new SchemaExport(configuration).Create(false, true); }
public static Configuration ConfigureDatabase(this Configuration cfg) { cfg.DataBaseIntegration(x => { x.ConnectionProvider <DriverConnectionProvider>(); x.ConnectionStringName = "Default"; x.LogSqlInConsole = true; x.LogFormattedSql = true; x.Dialect <PostGis20Dialect>(); x.Driver <NpgsqlDriver>(); }); cfg.AddAuxiliaryDatabaseObject(new SpatialAuxiliaryDatabaseObject(cfg)); cfg.SetProperty("current_session_context_class", "web"); cfg.SetProperty("show_sql", "true"); cfg.SetProperty("format_sql", "true"); cfg.AddAssembly(Assembly.GetExecutingAssembly()); Metadata.AddMapping(cfg, MetadataClass.GeometryColumn); Metadata.AddMapping(cfg, MetadataClass.SpatialReferenceSystem); return(cfg); }
public override ISessionFactory GetSessionFactory() { if (_sessionFactory == null) { lock (_locker) { if (_sessionFactory == null) { var config = new Configuration(); config.Mappings(map => { map.DefaultCatalog = _database; map.DefaultSchema = "dbo"; }); config.DataBaseIntegration(db => { db.LogFormattedSql = false; db.LogSqlInConsole = false; db.ConnectionString = _connectionString; db.Timeout = 10; db.Dialect <MsSql2005Dialect>(); db.Driver <SqlClientDriver>(); db.IsolationLevel = IsolationLevel.ReadCommitted; db.ConnectionProvider <DriverConnectionProvider>(); }); config.Cache(cache => { cache.DefaultExpiration = 600; cache.RegionsPrefix = "sql-server-db"; cache.UseQueryCache = true; cache.Provider <NCacheProvider>(); cache.QueryCacheFactory <NCacheQueryCacheFactory>(); }); config.Properties.Add("cache.use_sliding_expiration", "true"); var mapper = new ModelMapper(); mapper.AddMappings( Assembly.GetAssembly( typeof(CustomersMap)) .GetExportedTypes()); var mapping = mapper.CompileMappingForAllExplicitlyAddedEntities(); config.AddMapping(mapping); config.AddAuxiliaryDatabaseObject( new ServiceBrokerSettings()); config.AddAuxiliaryDatabaseObject( new CustomerCountryByID_SP()); config.AddAuxiliaryDatabaseObject( new CustomerContactNameAndPhoneByID_SP()); config.AddAuxiliaryDatabaseObject( new SQLProductPollingDependencyTrigger()); config.AddAuxiliaryDatabaseObject( new SQLEmployeePollingDependencyTrigger()); var schemaExport = new SchemaExport(config); schemaExport.Create(true, true); _sessionFactory = config.BuildSessionFactory(); } } } return(_sessionFactory); }
public override ISessionFactory GetSessionFactory() { if (_sessionFactory == null) { lock (_locker) { if (_sessionFactory == null) { NCacheProvider.ClearApplicationConfiguration(); var settings = new ConfigurationBuilder() .AddJsonFile("appsettings.json", false, true) .Build(); var applicationConfiguration = new ConfigurationSettings(); settings .GetSection("ncache:ApplicationConfig") .Bind(applicationConfiguration); NCacheProvider.SetApplicationConfiguration(applicationConfiguration); var config = new Configuration(); config.Mappings(map => { map.DefaultSchema = "BRAD"; }); config.DataBaseIntegration(db => { db.LogFormattedSql = false; db.LogSqlInConsole = false; db.ConnectionString = _connectionString; db.Timeout = 10; db.Dialect <Oracle10gDialect>(); db.Driver <OracleManagedDataClientDriver>(); db.IsolationLevel = IsolationLevel.ReadCommitted; db.ConnectionProvider <DriverConnectionProvider>(); }); config.Cache(cache => { cache.DefaultExpiration = 600; cache.RegionsPrefix = "oracle-db"; cache.UseQueryCache = true; cache.Provider <NCacheProvider>(); cache.QueryCacheFactory <NCacheQueryCacheFactory>(); }); config.Properties.Add("cache.use_sliding_expiration", "true"); var mapper = new ModelMapper(); mapper.AddMappings(Assembly.GetAssembly(typeof(CustomersMap)).GetExportedTypes()); var mapping = mapper.CompileMappingForAllExplicitlyAddedEntities(); config.AddMapping(mapping); config.AddAuxiliaryDatabaseObject( new CustomerCountryByID_SP()); config.AddAuxiliaryDatabaseObject( new OracleProductPollingDependencyTrigger()); config.AddAuxiliaryDatabaseObject( new OracleEmployeePollingDependencyTrigger()); var schemaExport = new SchemaExport(config); schemaExport.Create(true, true); _sessionFactory = config.BuildSessionFactory(); } } } return(_sessionFactory); }
public Configuration MapEntities(IEnumerable <Type> rootEntityTypes, MatchEntities matchEntities = null, Action <hibernatemapping> applyCustomMappings = null) { var entityTypes = GetEntityTypes(rootEntityTypes, matchEntities); var mappingXDoc = new hibernatemapping(); //this creates the mapping xml document //create class xml elements for each entity type foreach (var type in entityTypes) { var @class = new @class() { name = type.AssemblyQualifiedName, table = type.Name.Pluralize(), //pluralized table names - could easily have checked for a [TableName("SomeTable")] attribute for custom overrides }; [email protected](@class); } var conventions = GetAll <IClassConvention>() //get all the conventions from the current project .TopologicalSort() //sort them into a dependency tree .ToList(); using (Profiler.Step("Running conventions")) { //run througn all the conventions, updating the document as we go foreach (var convention in conventions) { using (Profiler.Step("Running convention " + convention.ToString())) { foreach (var type in entityTypes) { var @class = [email protected](c => c.name == type.AssemblyQualifiedName); convention.Apply(type, @class, entityTypes, mappingXDoc); } } } } if (applyCustomMappings != null) { applyCustomMappings(mappingXDoc); } var xml = mappingXDoc.ToString(); if (_writeToDisk) { var path = HostingEnvironment.ApplicationPhysicalPath ?? Path.GetDirectoryName( Assembly.GetExecutingAssembly().CodeBase.Replace("file:///", ""). Replace("/", "\\")); File.WriteAllText(Path.Combine(path, "config.hbm.xml"), xml); } _cfg.AddXml(xml); foreach (var classConvention in conventions) { foreach (var adbo in classConvention.AuxDbObjects()) { _cfg.AddAuxiliaryDatabaseObject(adbo); } } return(_cfg); }