興味深いものです。
次の Entity Framework クエリを参照してください。
Entities.Select(x => new
{
x.ExperienceMonths,
Calculated = (x.ExperienceMonths > 0 ? x.ExperienceMonths / 12 : 0)
})
列ExperienceMonthsはtinyintデータベース内のbyteです。つまり、EF モデル内の です。
Calculated数値を除算しているので、列はdouble( ) であると予想されますがfloat、何をしても常ににintなりdecimal、結果の一部が単純に削除されるため、ex 3.7 の場合は 3 になります。
何らかの方法で EF に結果を変換させる方法はありdoubleますか? double実行時に除算式が壊れる前に( ) キャストを追加します。
EF5を使用。
ありがとう!