我想在没有代码更改的情况下使用nhibernate拦截器(覆盖EmptyInterceptor)。
可以从XML配置文件中执行此操作吗?
我的EmptyInterceptor覆盖类:
public class QueryNumberInterceptor : EmptyInterceptor {
public override SqlString OnPrepareStatement(SqlString sql) {
return base.OnPrepareStatement(sql);
}
}
我的XML配置文件:
<config>
<add key="connection.driver_class" value="NHibernate.Driver.SqlClientDriver, NHibernate"/>
<add key="dialect" value="NHibernate.Dialect.MsSql2008Dialect, NHibernate"/>
<add key="connection.connection_string" value="ConnectionString = ${MainConnection}"/>
<add key="show_sql" value="true"/>
</config>
答案 0 :(得分:1)
AFAIK,你不能用配置文件注入一个拦截器。
但你可以注册一个event listener。您可以使用拦截器对事件侦听器执行相同的操作。但它是一个不同的概念,因此看起来不同。