2012-02-14 3 views
0

나는 많은 쿼리를 실행하고, 그 중 하나라도 단일 결과를 반환하면 부울 변수를 true로 토글합니다. 그들은 모두 결과를 반환하지 않으면 false로 유지됩니다.Linq-To-Nhibernate (NH3.2)를 사용하면 데이터베이스 자체에 레코드가없는 쿼리의 레코드 수가 반환됩니다.

지금은 가장 작은 열을 선택하고 .Select() 한 다음 결과를 로컬에서 계산합니다. 하지만 거기에 데이터베이스를 linq - nhibernate 통해 쿼리의 레코드 수를 나타내는 단일 정수를 다시 보내도록 할 수있는 방법이 있습니까?

감사합니다. 쿼리 API를 사용하여

답변

2

, 그것은

return Session.QueryOver<YourType>().RowCount(); 

또는 여러 쿼리를 보내는 경우 Int64 (bigint)

return Session.QueryOver<YourType>().RowCountInt64(); 

를 들어, 다음 배치에 모든 쿼리를 미래를 사용할 수있는 것 함께.

+0

그래서 아직 Linq 제공 업체에서 구현되지 않았습니까? –

+0

나는 (지금은 테스트 할 수없고 보통 Query API를 사용할 수 없다), Session.Query () .Count();와 NHibernate에 대한 LINQ가 –

+0

인데, 끝까지 .Count를 넣을 수있을 것 같아. NH가 어떤 종류의 질의를 던지는 지보십시오. –