public void FullConfiguration() { var configure = new Configuration(); configure.SessionFactoryName("SomeName"); configure.Cache(c => { c.UseMinimalPuts = true; c.DefaultExpiration = 15; c.RegionsPrefix = "xyz"; c.Provider<HashtableCacheProvider>(); c.QueryCache<StandardQueryCache>(); }); configure.CollectionTypeFactory<DefaultCollectionTypeFactory>(); configure.HqlQueryTranslator<ClassicQueryTranslatorFactory>(); configure.LinqToHqlGeneratorsRegistry<DefaultLinqToHqlGeneratorsRegistry>(); configure.Proxy(p => { p.Validation = false; p.ProxyFactoryFactory<DefaultProxyFactoryFactory>(); }); configure.Mappings(m=> { m.DefaultCatalog = "MyCatalog"; m.DefaultSchema = "MySche"; }); configure.DataBaseIntegration(db => { db.Dialect<MsSql2000Dialect>(); db.KeywordsAutoImport = Hbm2DDLKeyWords.AutoQuote; db.Batcher<SqlClientBatchingBatcherFactory>(); db.BatchSize = 15; db.ConnectionProvider<DebugConnectionProvider>(); db.Driver<SqlClientDriver>(); db.ConnectionReleaseMode = ConnectionReleaseMode.AfterTransaction; db.IsolationLevel = IsolationLevel.ReadCommitted; db.ConnectionString = "The connection string"; db.AutoCommentSql = true; db.ExceptionConverter<SQLStateConverter>(); db.PrepareCommands = true; db.Timeout = 10; db.MaximumDepthOfOuterJoinFetching = 11; db.HqlToSqlSubstitutions = "true 1, false 0, yes 'Y', no 'N'"; db.SchemaAction = SchemaAutoAction.Validate; }); Assert.That(configure.Properties[Environment.SessionFactoryName], Is.EqualTo("SomeName")); Assert.That(configure.Properties[Environment.CacheProvider], Is.EqualTo(typeof(HashtableCacheProvider).AssemblyQualifiedName)); Assert.That(configure.Properties[Environment.CacheRegionPrefix], Is.EqualTo("xyz")); Assert.That(configure.Properties[Environment.QueryCacheFactory], Is.EqualTo(typeof(StandardQueryCache).AssemblyQualifiedName)); Assert.That(configure.Properties[Environment.UseMinimalPuts], Is.EqualTo("true")); Assert.That(configure.Properties[Environment.CacheDefaultExpiration], Is.EqualTo("15")); Assert.That(configure.Properties[Environment.CollectionTypeFactoryClass], Is.EqualTo(typeof(DefaultCollectionTypeFactory).AssemblyQualifiedName)); Assert.That(configure.Properties[Environment.UseProxyValidator], Is.EqualTo("false")); Assert.That(configure.Properties[Environment.ProxyFactoryFactoryClass], Is.EqualTo(typeof(DefaultProxyFactoryFactory).AssemblyQualifiedName)); Assert.That(configure.Properties[Environment.QueryTranslator], Is.EqualTo(typeof(ClassicQueryTranslatorFactory).AssemblyQualifiedName)); Assert.That(configure.Properties[Environment.DefaultCatalog], Is.EqualTo("MyCatalog")); Assert.That(configure.Properties[Environment.DefaultSchema], Is.EqualTo("MySche")); Assert.That(configure.Properties[Environment.Dialect], Is.EqualTo(typeof(MsSql2000Dialect).AssemblyQualifiedName)); Assert.That(configure.Properties[Environment.Hbm2ddlKeyWords], Is.EqualTo("auto-quote")); Assert.That(configure.Properties[Environment.BatchStrategy], Is.EqualTo(typeof(SqlClientBatchingBatcherFactory).AssemblyQualifiedName)); Assert.That(configure.Properties[Environment.BatchSize], Is.EqualTo("15")); Assert.That(configure.Properties[Environment.ConnectionProvider], Is.EqualTo(typeof(DebugConnectionProvider).AssemblyQualifiedName)); Assert.That(configure.Properties[Environment.ConnectionDriver], Is.EqualTo(typeof(SqlClientDriver).AssemblyQualifiedName)); Assert.That(configure.Properties[Environment.ReleaseConnections], Is.EqualTo(ConnectionReleaseModeParser.ToString(ConnectionReleaseMode.AfterTransaction))); Assert.That(configure.Properties[Environment.Isolation], Is.EqualTo("ReadCommitted")); Assert.That(configure.Properties[Environment.ConnectionString], Is.EqualTo("The connection string")); Assert.That(configure.Properties[Environment.UseSqlComments], Is.EqualTo("true")); Assert.That(configure.Properties[Environment.SqlExceptionConverter], Is.EqualTo(typeof(SQLStateConverter).AssemblyQualifiedName)); Assert.That(configure.Properties[Environment.PrepareSql], Is.EqualTo("true")); Assert.That(configure.Properties[Environment.CommandTimeout], Is.EqualTo("10")); Assert.That(configure.Properties[Environment.MaxFetchDepth], Is.EqualTo("11")); Assert.That(configure.Properties[Environment.QuerySubstitutions], Is.EqualTo("true 1, false 0, yes 'Y', no 'N'")); Assert.That(configure.Properties[Environment.Hbm2ddlAuto], Is.EqualTo("validate")); configure.Properties[Environment.LinqToHqlGeneratorsRegistry].Should().Be(typeof(DefaultLinqToHqlGeneratorsRegistry).AssemblyQualifiedName); }
private static Configuration ConfigureNHibernate() { var config = new Configuration(); var appDataFolder = HttpContext.Current.Server.MapPath("~/App_Data"); var databaseFilePath = Path.Combine(appDataFolder, "Data.sdf"); var connectionString = string.Format("Data Source={0}; Persist Security Info=False;", databaseFilePath); config.DataBaseIntegration( db => { db.Dialect<MsSqlCe40Dialect>(); db.Driver<SqlServerCeDriver>(); db.SchemaAction = SchemaAutoAction.Recreate; db.ConnectionString = connectionString; db.KeywordsAutoImport = Hbm2DDLKeyWords.AutoQuote; }); // allow using .NET ISet<T> instead of Iesi ISet<T> config.CollectionTypeFactory<Net4CollectionTypeFactory>(); var mapper = new ModelMapper(); // entities mapper.AddMapping<UserMap>(); mapper.AddMapping<ContactMap>(); // compile var mapping = mapper.CompileMappingFor( typeof (AbstractEntity).Assembly.GetExportedTypes() .Where(type => typeof (AbstractEntity).IsAssignableFrom(type))); // use mappings config.AddMapping(mapping); return config; }