2009-04-07 4 views
3

십진수를 반환하는 sum()을 얻을 수없고 항상 소수점 이하 자릿수를 줄이는 int64를 반환합니다. 나는 하루 종일 인터넷 검색을했지만 여전히 실제 작업을 찾을 수는 없습니다. 나는 QtyPurchase은 INT이고 UnitPurchasePrice가 NHibernate에, 를 사용어떻게 10 진수를 반환하는 NHibernate 집계 함수 sum()을 얻는가?

QtyPurchased (INT) 이러한는 C# POCO 개체에 매핑되는

UnitPurchasePrice (돈) 컬럼과 ProductPurchase라는 DB 테이블이 10 진수 속성

나는 내가 주어진 하루 동안 총 구매 금액을 얻으려면 다음과 같은 HQL 쿼리가 : 세부 AS Domain.Entities.ProductPurchase에서

선택 합 (detail.QtyPurchased * detail.UnitPurchasePrice) 를 dirtyiff ("day", detail.PurchaseDate, : trading_date) = 0

지금까지 이유가 무엇이든간에 query.UniqueResult는 Int64 정수를 항상 반환하고 십진수는 자른 반면 생성 된 SQL은 십진법. 이걸 십진수로 반환하는 방법에 대해 누군가가 somelight를 흘릴 수 있습니까?

SQL (즉 CreateSqlQuery)을 사용하면 십진수를 다시 얻을 수 있다는 것을 알아 챘습니다. 이것은 Nhibernate의 버그입니까? (가격 * 수량) 대신 (수량 * 가격)의 :

덕분 요소의 순서를 반전

스티븐 쿠오

답변

2

나를 위해 그것을했다 힙을.

이 해결 방법이 효과가있는 경우 JIRA issue을 입력하십시오. 첫 번째 매개 변수 유형 만 확인해야합니다.

+0

최고! Nhibernate Legend에 감사드립니다. 이것은 문제가되는 머리카락이었고 이제는 적절한 HQL을 쓸 수 있습니다. 다시 한번 감사드립니다. –

+0

JIRA에 게시 됨, http://nhjira.koah.net/browse/NH-1734 투표하십시오. 고맙습니다. –

+0

고마워요! 나는 orderrow와 같은 문제가있다. 제품 * 가격. 가격. 속성을 반전 시켰고 효과가있었습니다. NHibernate와 같이 가장 일반적으로 사용되는 제품은 요즘에는 이런 단점들/버그들을 가지고있는 것이 참으로 유감입니다. –

관련 문제