2
코드 변경없이 nhibernate 인터셉터 (EmptyInterceptor 무시)를 사용하고 싶습니다.NHibernate 설정 XML 파일의 인터셉터를 사용하는 방법은 무엇입니까?
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>
생성 된 쿼리를 캡처 할 수있는 이벤트는 무엇입니까? –
@ PatrickCelho 그 사건은 없습니다. 그러나 정말로해야 할 일을 알려주십시오 (SQL 힌트를 추가하고 쿼리를 변환 하시겠습니까?); 대체 접근법이있을 수 있습니다. –
@DiegoMijelshon 생성 된 쿼리를 계산하고 30보다 큰 예외가 발생하면 N + 1 쿼리를 제거하는 데 도움이됩니다. –