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");
}