성능상의 이유로 인해 실제 ADO.NET (테이블 반환 매개 변수 포함)을 사용하여 실제 명령을 작성해야한다는 쿼리가 있습니다. LINQ to SQL 또는 EF를 사용하면 DbCommand.ExecuteReader()
에 의해 반환 된 DbDataReader
을 DataContext.Translate<T>(DbDataReader)
또는 ObjectContext.Translate<T>(DbDataReader)
메서드에 전달할 수 있으며 결과 집합을 개체로 변환하여 IEnumerable<T>
을 반환합니다.NHibernate의 LINQ to SQL과 EF의 번역본 <T>()
나는 통과 할 수 있습니다 NHibernate에의 동등한 API가있는 DbDataReader
/IDataReader
또는 심지어 DbCommand
/IDbCommand
및 NHibernate에 개체를 다시 얻을?
ISession.CreateQuery(string)
으로 생성 된 명령의 구성을 가로채는 방법이 있습니다. 따라서 기본 방식 인 DbCommand
을 내가 원하는대로 작동하도록 수정할 수 있습니까?
'CreateSQLQuery'를 사용할 수없는 이유가 있습니까? – mickfold
@penfold : 예, 앞서 언급했듯이 테이블 반환 매개 변수를 사용해야하기 때문입니다. –