2012-05-03 19 views
0

在NHibernate中,我打开show_sql来运行单元测试。我的每个单元测试都会清除数据库并重新填充它,这导致大量的SQL查询,我不希望NHibernate输出。以编程方式设置show_sql而不重新创建SessionFactory?

是否有可能控制show_sql不破坏SessionFactory?如果可能,我想在运行测试设置时将其关闭,然后在测试主体开始运行时再次打开它。

这可能吗?

回答

1

唯一你可以设置的地方是当建立一个NHibernate.Cfg.Configuration。 一旦你从你的Configuration创建SessionFactory,有没有办法来访问的配置设置,我认为这是原因,使用工厂模式之一:确保一旦实例成功构建不能运行搞砸重新配置或错误配置。

如果你真的需要这个功能,获得NH源代码,并发现其中show_sql设置已评估的地方。

1

另一种选择,虽然它可能/可能不会像好是使用NHProf和测试时,只是初始化NHProf。

NHProf不记录设置/清除数据库只是使用查询。

相关问题