0

nhibernateでネイティブsqnを実行し、レポートに必要な複雑なクエリから合計を取得する必要があります。SQLクエリは、合計に対して1つのfloat値のみを返します。

float theSum= session.CreateSQLQuery(@"select sum(myfield) myfield from ....")
                               .AddScalar("myfield", NHibernateUtil.Single)
                               .UniqueResult<float>();

これでいい ?
これを行う他の方法はありますか?これはnull値を0に自動キャストすると思います。

4

1 に答える 1

0

コードを再確認しましたが、nullから0への明示的な変換が含まれています。0とnullの違いを確認/処理する場合は、<float?>を使用する必要があります。

別の方法として名前付きクエリを確認することもできます:http://nhibernate.info/doc/nh/en/index.html#querysql-namedqueries

于 2013-01-06T16:33:12.243 に答える