NSoft.NFramework.Data.NHibernateEx.ForTesting.UnitOfWorkTestContextDbStrategy.UnitOfWorkTestContextDbStrategy C# (CSharp) Method

UnitOfWorkTestContextDbStrategy() protected method

생성자
protected UnitOfWorkTestContextDbStrategy ( string databaseName ) : System
databaseName string ConnectionString에서 Initial Catalog에 해당되는 Database명
return System
        protected UnitOfWorkTestContextDbStrategy(string databaseName) {
            _databaseName = databaseName;

            // added by NHibernate 2.1.0 
            // ProxyFactory 
            // properties.Add(NHibernate.Cfg.Environment.ProxyFactoryFactoryClass, ProxyFactoryCastle);
            //_properties.Add(Environment.ProxyFactoryFactoryClass, ProxyFactoryLinFu);

            // NOTE : AST Query Translator를 이용하면 delete / insert 등을 사용할 수 있다. (예: session.CreateQuery("delete Parent").ExecuteUpdate())
            // NOTE : DML-Style HQL을 직접사용할 수 있으므로 성능이 좋다.
            _properties.Add(NHibernate.Cfg.Environment.QueryTranslator, "NHibernate.Hql.Ast.ANTLR.ASTQueryTranslatorFactory, NHibernate");
            _properties.Add(NHibernate.Cfg.Environment.FormatSql, "true");

            // NOTE : SQLServer 에서는 꼭 (hbm2ddl.keywords = none)으로 해줘야 한다.
            // 참고 : http://fabiomaulo.blogspot.com/2009/06/auto-quote-tablecolumn-names.html 
            // none을 지정하지 않으면 cfg.BuildSessionFactory() 에 DB가 만들어지지 않았는데도 Database에 connection을 생성하려고한다.
            _properties.Add(NHibernate.Cfg.Environment.Hbm2ddlKeyWords, "none");
        }