我有一些单元测试可以在本地数据库上使用nhibernate。
我并不总是需要show_sql
输出,因此大多数情况下我想要停用它。但无论我如何在测试项目的App.config
中设置属性
<hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
<session-factory>
<property name="dialect">NHibernate.Dialect.MsSql2005Dialect</property>
<property name="connection.connection_string_name">test</property>
<property name="show_sql">false</property>
<mapping assembly="MyLib"/>
</session-factory>
</hibernate-configuration>
或通过测试类中的配置
_logger.Info("Configuring NHibernate");
_configuration = new Configuration().Configure();
_configuration.SetProperty("nhibernate.show_sql", "false");
_sessionFactory = _configuration.BuildSessionFactory();
控制台输出始终显示SQL语句,使控制台变得混乱。
我错过了什么?我设置的值是错误的吗?
答案 0 :(得分:1)
原来还有另一点可以控制输出;直接在方法!
UIPickerView
myTextView.inputView = myPickerView;
方法提供了两个参数:
SchemaExport export = new SchemaExport(_configuration);
export.Create(true, true);
第一个定义SQL是否写入标准输出,第二个控制是针对数据库执行的。
从复制/粘贴教程开始,我总是将两者都设置为true,这覆盖了我之前配置的任何内容。
将第一个参数设置为Create
后,我不再获得不需要的输出。