我们正在使用 NHibernate 3.2。
我希望能够记录来自特定 ISession 的 SQL 查询。那可能吗?
或者,如果这不可能,我可以将记录器设置为特定的 ISessionFactory 吗?然后我可以从这个特定的工厂创建这个 ISession。
据我所见,要设置记录器,您必须执行以下操作:
<appSettings>
<add key="nhibernate-logger" value="NH3SQLLogger.LoggerFactory, NH3SQLLogger" />
</appSettings>
但是,这将使所有工厂的设置全局化。
我可以做这样的事情吗:
var config = new Configuration();
config.Configure();
config.SetProperty("nhibernate-logger",
"NH3SQLLogger.LoggerFactory, NH3SQLLogger");
_sessionFactory = config.BuildSessionFactory();
那行得通吗?还是有其他方法?