アプリケーションでVS2010、Entity Framework 4.0、およびAdvantagev。10を使用しています。null許容の数値(10進数)型を10進数に変換しようとするLinq-to-Entities(L2E)ステートメントを作成しました。簡単なステートメントは次のようになります。
var x = (from test in entities.Tests
select test.ValueA.HasValue ? test.ValueA.Value : 0);
ただし、次のエラーが発生します。
System.Data.EntityCommandExecutionException:コマンド定義の実行中にエラーが発生しました。詳細については、内部例外を参照してください。---> Advantage.Data.Provider.AdsException:エラー7200:AQEエラー:状態= S0000; NativeError = 2159; [iAnywhere Solutions] [Advantage SQL Engine]スカラー関数の引数が無効です:CAST-精度とスケールの両方を指定する必要があります。--SQLステートメントのエラーの場所は次のとおりです。xxx(行:x列:x)AdsCommandクエリの実行に失敗しました。
結果を列挙してクライアント側で変換を行う以外に、これを回避する方法はありますか?L2EステートメントでAdvantageに「0」の精度とスケールを伝える方法がわかりません。
前もって感謝します。