興味深いものです。
次の 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を使用。
ありがとう!