1

次のコード行は、「呼び出しのターゲットによって例外がスローされました。// Unhandled Expression Type: 1001」でクラッシュし続けます。

見ただけで理由が分かる人いますか?

myList.Aggregate((curmax, x) => (curmax == null || x.LastMonth > curmax.LastMonth ? x : curmax));

私が得たのは、curmax が返される変数であり、X が反復される項目であるということです。しかし、私はエラーを説明することはできません。

4

2 に答える 2

1

これはNHibernateでサポートされていない操作にすぎないと思います。ただし、「LastMonthの値が最大の値」の直後にある場合は、次を使用できます。

var latestPeriod = myList.OrderByDescending(x => x.LastMonth)
                         .FirstOrDefault();

それはかなり簡単で、サポートされる可能性が高くなります。

于 2011-10-06T12:30:14.243 に答える
0

.Tolist()Niberateから電話して解決しました。そこから、(Nhibernate バージョンの代わりに) Microsoft Linq の集約拡張メソッドが使用され、それ以上の問題はありません。

myList.ToList().Aggregate((curmax, x) => (curmax == null || x.LastMonth > curmax.LastMonth ? x : curmax));
于 2011-10-07T12:43:01.410 に答える