9

linqからNHibernateへのクエリがあります。

var q = SessionInstance.Query<Request>().Max(e => e.Code);

テーブルに行がない場合Request、このクエリを実行すると、次のメッセージでGenericADOExceptionが発生します。

{"Could not execute query[SQL: SQL not available]"}

{"Value cannot be null.\r\nParameter name: item"}

私は何をすべきか?

4

2 に答える 2

13

これを試して

SessionInstance.Query<Request>().Max(x => (int?)x.Code);
于 2012-06-12T14:00:50.467 に答える
1

これはLinq-to-Nhibernateで機能するはずだと思います。

var q = SessionInstance.Query<Request>().Select(e => e.Code)
    .DefaultIfEmpty().Max();

または多分DefaultIfEmpty(<some value>)

于 2012-06-12T14:18:23.923 に答える