private NHConfiguration CreateNHibernateConfiguration(Func <Type, bool> typePredicate) { var nhOptions = Configuration.GetSection("NHibernate").Get <NHibernateOptions>(); // Configure NHibernate var configuration = new NHConfiguration(); configuration.SetProperty(Environment.Dialect, nhOptions.Dialect); configuration.SetProperty(Environment.ConnectionDriver, nhOptions.ConnectionDriver); configuration.SetProperty(Environment.ConnectionString, nhOptions.ConnectionString); configuration.SetProperty(Environment.DefaultBatchFetchSize, "20"); configuration.SetProperty(Environment.BatchSize, "20"); configuration.SetProperty(Environment.Hbm2ddlKeyWords, "auto-quote"); // Configure NHibernate mappings from Breeze.NHibernate.Tests.Models project var modelMapper = new ModelMapper(); var types = typeof(Order).Assembly.GetExportedTypes() .Where(t => typeof(IConformistHoldersProvider).IsAssignableFrom(t) && !t.IsAbstract) .Where(typePredicate) .ToList(); modelMapper.AddMappings(types); configuration.AddMapping(modelMapper.CompileMappingForAllExplicitlyAddedEntities()); return(configuration); }
void ApplyMappings(Configuration config) { var mapper = new ModelMapper(); mapper.AddMapping<OutboxEntityMap>(); config.AddMapping(mapper.CompileMappingForAllExplicitlyAddedEntities()); }
public ProgrammaticDatabaseConfigurationFull() { var config = new NHibernate.Cfg.Configuration() .SetProperty(Environment.ReleaseConnections, "on_close") .SetProperty(Environment.Dialect, typeof(SQLiteDialect).AssemblyQualifiedName) .SetProperty(Environment.ConnectionDriver, typeof(SQLite20Driver).AssemblyQualifiedName) .SetProperty(Environment.ConnectionString, "data source=:memory:") .SetProperty(Environment.ShowSql, "true") .SetProperty(Environment.UseQueryCache, "true") .SetProperty(Environment.CurrentSessionContextClass, typeof(ThreadLocalSessionContext).AssemblyQualifiedName) .SetProperty(Environment.BatchSize, "20") .SetProperty(Environment.CommandTimeout, "30"); var modelMapper = new ModelMapper(); modelMapper.AddMappings(typeof(EmployeeMappings).Assembly.GetTypes()); config.AddMapping(modelMapper.CompileMappingForAllExplicitlyAddedEntities()); var sessionFactory = config.BuildSessionFactory(); session = sessionFactory.OpenSession(); using (var tx = session.BeginTransaction()) { new SchemaExport(config).Execute(true, true, false, session.Connection, Console.Out); tx.Commit(); } session.Clear(); }
/// <summary> /// Builds the session factory with the given properties. Database is updated if updateSchema is set /// </summary> /// <param name="nhibernateProperties"></param> /// <param name="updateSchema"></param> /// <returns></returns> public ISessionFactory Build(IDictionary<string, string> nhibernateProperties, bool updateSchema) { var scannedAssemblies = typesToScan.Select(t => t.Assembly).Distinct(); var nhibernateConfiguration = new Configuration().SetProperties(nhibernateProperties); foreach (var assembly in scannedAssemblies) nhibernateConfiguration.AddAssembly(assembly); var mapping = new SagaModelMapper(typesToScan.Except(nhibernateConfiguration.ClassMappings.Select(x => x.MappedClass))); HackIdIntoMapping(mapping); nhibernateConfiguration.AddMapping(mapping.Compile()); ApplyDefaultsTo(nhibernateConfiguration); if (updateSchema) UpdateDatabaseSchemaUsing(nhibernateConfiguration); try { return nhibernateConfiguration.BuildSessionFactory(); } catch (Exception e) { if (e.InnerException != null) throw new ConfigurationErrorsException(e.InnerException.Message, e); throw; } }
private void InitNHibernate() { var mapper = new ModelMapper(); mapper.AddMappings(typeof(ProductoMap).Assembly.ExportedTypes); HbmMapping domainMapping = mapper.CompileMappingForAllExplicitlyAddedEntities(); string connectionString = _appConfiguration.GetConnectionString("DefaultConnection"); var configuration = new NHibernate.Cfg.Configuration(); configuration.DataBaseIntegration(c => { c.Dialect <NHibernate.Dialect.MySQLDialect>(); c.ConnectionString = connectionString; //c.KeywordsAutoImport = Hbm2DDLKeyWords.AutoQuote; //c.SchemaAction = SchemaAutoAction.Validate; #if (DEBUG) c.LogFormattedSql = true; c.LogSqlInConsole = true; #endif }); configuration.AddMapping(domainMapping); var sessionFactory = configuration.BuildSessionFactory(); this.DbSession = sessionFactory.OpenSession(); #if (DEBUG) NHibernateLogger.SetLoggersFactory(new NHLoggerFactory(this.Log)); #endif }
public ProgrammaticDatabaseConfiguration() { var config = new NHibernate.Cfg.Configuration() .SetProperty(Environment.ReleaseConnections, "on_close") .SetProperty(Environment.Dialect, typeof(SQLiteDialect).AssemblyQualifiedName) .SetProperty(Environment.ConnectionDriver, typeof(SQLite20Driver).AssemblyQualifiedName) .SetProperty(Environment.ConnectionString, "data source=:memory:") .SetProperty(Environment.ShowSql, "true") .SetProperty(Environment.FormatSql, "true"); var modelMapper = new ModelMapper(); modelMapper.AddMapping <EmployeeMappings>(); modelMapper.AddMapping <AddressMappings>(); modelMapper.AddMapping <BenefitMappings>(); modelMapper.AddMapping <LeaveMappings>(); modelMapper.AddMapping <SkillsEnhancementAllowanceMappings>(); modelMapper.AddMapping <SeasonTicketLoanMappings>(); modelMapper.AddMapping <CommunityMappings>(); config.AddMapping(modelMapper.CompileMappingForAllExplicitlyAddedEntities()); var sessionFactory = config.BuildSessionFactory(); session = sessionFactory.OpenSession(); using (var tx = session.BeginTransaction()) { new SchemaExport(config).Execute(true, true, false, session.Connection, Console.Out); tx.Commit(); } session.Clear(); }
protected override void Configure(NHibernate.Cfg.Configuration protoConfig) { var mapper = new ModelMapper(); mapper.AddMapping <PersonMap>(); protoConfig.AddMapping(mapper.CompileMappingForAllExplicitlyAddedEntities()); }
void ApplyMappings(Configuration config) { var mapper = new ModelMapper(); mapper.AddMapping <OutboxEntityMap>(); config.AddMapping(mapper.CompileMappingForAllExplicitlyAddedEntities()); }
protected override void Configure(NHibernate.Cfg.Configuration protoConfig) { protoConfig.Properties[NHibernate.Cfg.Environment.ShowSql] = "True"; var mapper = new ModelMapper(); mapper.AddMapping <PersonMap>(); protoConfig.AddMapping(mapper.CompileMappingForAllExplicitlyAddedEntities()); }
Configuration createNHConfiguration() { var cfg = new Configuration(); ModelMapper mapping = new ModelMapper(); mapping.AddMappings(typeof(ProfileMapping).Assembly.GetTypes()); cfg.AddMapping(mapping.CompileMappingForAllExplicitlyAddedEntities()); cfg.Configure(); return(cfg); }
private static void ConfigureNhibernate(ref NHibernate.Cfg.Configuration config) { var mapper = new ModelMapper(); //var assembly = Assembly.Load("IdentityServer4.Admin.Api"); var list = AdminApiAssembly.GetExportedTypes().Where(x => !x.IsAbstract && IsMappingOf <IEntitySqlsMapper>(x)); Console.WriteLine($"--------{list.Count()}-------"); mapper.AddMappings(list); var domainMapping = mapper.CompileMappingForAllExplicitlyAddedEntities(); config.AddMapping(domainMapping); }
private void SetMappings(NHibernate.Cfg.Configuration configuration) { var mapper = new ModelMapper(); mapper.AddMappings(MappingExtensions.GetMappingsAssembly <TDbContext>().GetTypes()); var mappings = mapper.CompileMappingForAllExplicitlyAddedEntities(); configuration.AddMapping(mappings); SchemaMetadataUpdater.QuoteTableAndColumns(configuration, new MsSql2012Dialect()); }
// public static void ConfigureOldDatabase(Dictionary<string, string> properties) // { // var configuration = new Configuration { Properties = properties }; // OldSessionFactory = Fluently.Configure(configuration).Database(MySQLConfiguration.Standard) //.Mappings(m => m.FluentMappings.AddFromAssemblyOf<BodyArchitect.DataAccess.Converter.V4_V5.Mappings.Old.ProfileMapping>()) //.ExposeConfiguration((cfg => // { // var timeout = TimeSpan.FromMinutes(30).TotalSeconds; // cfg.SetProperty("command_timeout", timeout.ToString()); // })).BuildSessionFactory(); // OldDbConfiguration = configuration; // } public static void ConfigureNewDatabase(Dictionary <string, string> properties) { var configuration = new Configuration { Properties = properties }; ModelMapper mapping = new ModelMapper(); mapping.AddMappings(typeof(ProfileMapping).Assembly.GetTypes()); configuration.AddMapping(mapping.CompileMappingForAllExplicitlyAddedEntities()); NewDbConfiguration = configuration; NewSessionFactory = configuration.BuildSessionFactory(); }
protected override void PostProcessConfiguration(NHibernate.Cfg.Configuration config) { base.PostProcessConfiguration(config); var mapper = new ModelMapper(); foreach (var asm in ClassMappingAssemblies.Select(Assembly.Load)) { mapper.AddMappings(asm.GetTypes()); } foreach (var mapping in mapper.CompileMappingForEachExplicitlyAddedEntity()) { config.AddMapping(mapping); } }
private ISessionFactory BuildSessionFactory() { var configuration = new NHibernate.Cfg.Configuration(); configuration.SetProperty(NHibernate.Cfg.Environment.ConnectionString, Configuration.GetConnectionString("Store")); configuration.SetProperty(NHibernate.Cfg.Environment.Dialect, typeof(MsSql2012Dialect).AssemblyQualifiedName); var modelMapper = new ModelMapper(); modelMapper.AddMappings(typeof(Startup).Assembly.GetExportedTypes()); var hbm = modelMapper.CompileMappingForAllExplicitlyAddedEntities(); configuration.AddMapping(hbm); return(configuration.BuildSessionFactory()); }
private static Configuration BuildDatabaseConfiguration() { var config = new Configuration().Configure(); var mapper = new ModelMapper(); mapper.AddMappings(Assembly.GetExecutingAssembly().GetExportedTypes()); var domainMapping = mapper.CompileMappingForAllExplicitlyAddedEntities(); if (domainMapping.Items != null) { config.AddMapping(domainMapping); } return(config); }
/// <summary> /// Builds the session factory with the given properties. Database is updated if updateSchema is set /// </summary> /// <param name="nhibernateProperties"></param> /// <param name="updateSchema"></param> /// <returns></returns> public ISessionFactory Build(IDictionary <string, string> nhibernateProperties, bool updateSchema) { var scannedAssemblies = _typesToScan.Select(t => t.Assembly).Distinct(); var nhibernateConfiguration = new Configuration().SetProperties(nhibernateProperties); foreach (var assembly in scannedAssemblies) { nhibernateConfiguration.AddAssembly(assembly); } var modelMapper = new SagaModelMapper(_typesToScan.Except(nhibernateConfiguration.ClassMappings.Select(x => x.MappedClass))); var mapping = modelMapper.Compile(); //var serializer = new XmlSerializer(typeof (HbmMapping)); //using (var writer = XmlWriter.Create("sagamappings.xml", new XmlWriterSettings() { Indent = true})) //serializer.Serialize(writer, mapping); nhibernateConfiguration.AddMapping(mapping); ApplyDefaultsTo(nhibernateConfiguration); if (updateSchema) { UpdateDatabaseSchemaUsing(nhibernateConfiguration); } //using (var writer = new StreamWriter("schema.sql")) // new SchemaExport(nhibernateConfiguration) // .Execute(s => writer.Write(s), true, false); try { return(nhibernateConfiguration.BuildSessionFactory()); } catch (Exception e) { if (e.InnerException != null) { throw new ConfigurationErrorsException(e.InnerException.Message, e); } throw; } }
private NHConfiguration CreateNHibernateConfiguration() { var config = new NHConfiguration(); config.SetProperty(Environment.Dialect, NHibernateOptions.Dialect); config.SetProperty(Environment.ConnectionDriver, NHibernateOptions.ConnectionDriver); config.SetProperty(Environment.ConnectionString, NHibernateOptions.ConnectionString); config.SetProperty(Environment.DefaultBatchFetchSize, "20"); config.SetProperty(Environment.BatchSize, "20"); config.SetProperty(Environment.Hbm2ddlKeyWords, "auto-quote"); ConfigureNHibernate(config); var modelMapper = new ModelMapper(); ConfigureMappings(modelMapper); config.AddMapping(modelMapper.CompileMappingForAllExplicitlyAddedEntities()); return(config); }
/// <summary> /// Override to give the configuration of mapping by code assemblies /// </summary> /// <param name="config"></param> protected override void PostProcessConfiguration(NHibernate.Cfg.Configuration config) { base.PostProcessConfiguration(config); // add any conformist mappings in the listed assemblies: var mapper = new ModelMapper(); //mapper.AddMappings(Assembly.GetAssembly(typeof(SecurityMap)).GetExportedTypes()); mapper.AddMappings(Assembly.GetAssembly(typeof(OrderMap)).GetExportedTypes()); mapper.AddMappings(Assembly.GetAssembly(typeof(FillMap)).GetExportedTypes()); mapper.AddMappings(Assembly.GetAssembly(typeof(TradeMap)).GetExportedTypes()); mapper.AddMappings(Assembly.GetAssembly(typeof(StrategyMap)).GetExportedTypes()); foreach (var asm in ConformistMappingAssemblies.Select(Assembly.Load)) { mapper.AddMappings(asm.GetTypes()); } foreach (var mapping in mapper.CompileMappingForEachExplicitlyAddedEntity()) { config.AddMapping(mapping); } }
public void Setup() { if (File.Exists(_tempDBPath)) { File.Delete(_tempDBPath); } var config = new NHibernate.Cfg.Configuration() .DataBaseIntegration(db => { db.ConnectionString = $@"Data Source=""{_tempDBPath}"";Version=3;New=True;"; db.Dialect <SQLiteDialect>(); }); var mapper = new ModelMapper(); mapper.AddMappings(new[] { typeof(TestEntityMapping) }); config.AddMapping(mapper.CompileMappingForAllExplicitlyAddedEntities()); _sessionFactory = config.BuildSessionFactory(); //Create db schema new SchemaExport(config).Execute(true, true, false); }
/// <summary> /// Builds the session factory with the given properties. Database is updated if updateSchema is set /// </summary> /// <param name="nhibernateProperties"></param> /// <param name="updateSchema"></param> /// <returns></returns> public ISessionFactory Build(IDictionary <string, string> nhibernateProperties, bool updateSchema) { var scannedAssemblies = typesToScan.Select(t => t.Assembly).Distinct(); var nhibernateConfiguration = new Configuration().SetProperties(nhibernateProperties); foreach (var assembly in scannedAssemblies) { nhibernateConfiguration.AddAssembly(assembly); } var mapping = new SagaModelMapper(typesToScan.Except(nhibernateConfiguration.ClassMappings.Select(x => x.MappedClass))); ApplyConventions(mapping); nhibernateConfiguration.AddMapping(mapping.Compile()); ApplyDefaultsTo(nhibernateConfiguration); if (updateSchema) { UpdateDatabaseSchemaUsing(nhibernateConfiguration); } try { return(nhibernateConfiguration.BuildSessionFactory()); } catch (Exception e) { if (e.InnerException != null) { throw new ConfigurationErrorsException(e.InnerException.Message, e); } throw; } }
private static Configuration BuildConfiguration() { var configuration = new Configuration() .SetProperties(new Dictionary <string, string> { { Environment.ConnectionString, ConfigurationManager.ConnectionStrings["NServiceBus/Persistence"].ConnectionString }, { Environment.Dialect, "NHibernate.Dialect.MsSql2012Dialect" } }); var mapper = new ModelMapper(); mapper.AddMapping <OrderMap>(); var mappings = mapper.CompileMappingForAllExplicitlyAddedEntities(); configuration.AddMapping(mappings); return(configuration); }
private void SetupNHibernate() { var config = new Configuration(); // where to get database mappings from config.Configure(); // look at my App.config, find a hibernate-configuration section, and use those options to build session var mapper = new ModelMapper(); // where to get class (table) mappings from mapper.AddMapping<UserMap>(); config.AddMapping(mapper.CompileMappingForAllExplicitlyAddedEntities()); _sessionFactory = config.BuildSessionFactory(); }