一部のコードをEntity Frameworkを使用するように移行し、Nullableフィールドで並べ替えるクエリがあり、既定の並べ替え値を提供します。 Nullable.GetValueOrDefault(T)機能。OrderBy on Nullable <int>既定値のEntity Framework
しかし、実行時には、次のエラーを返します:this answer I can see that there is a way to provide "translations" within your EDMXから
int magicDefaultSortValue = 250;
var query = context.MyTable.OrderBy(t => t.MyNullableSortColumn
.GetValueOrDefault(magicDefaultSortValue));
:
LINQ to Entities does not recognize the method 'Int32 GetValueOrDefault(Int32)' method, and this method cannot be translated into a store expression.
クエリは次のようになります。この合体機能に似た翻訳を書くことができますか?
注:私が試したときに、GetValueOrDefaultの代わりに??
の演算子が合致していて、それが機能します。だから、おそらく何がその仕事をすることができますレバレッジ?
ありがとうございます!しかし、 '?? 'が見つかった後は、すでにGetValueOrDefault()を使用していた既存のクエリ(LINQ To SQLコンテキストに対して)を編集する必要がないようにしたいと考えていました。 – Reddog