有趣的一個。.NET EF - 劃分一個字節字段的結果是一個int而不是兩個
請參見下面的實體框架查詢:
Entities.Select(x => new
{
x.ExperienceMonths,
Calculated = (x.ExperienceMonths > 0 ? x.ExperienceMonths/12 : 0)
})
列ExperienceMonths
是在數據庫中,這意味着它在EF模型byte
一個tinyint
。
我期望Calculated
列是一個double
(float
),因爲我們分了一些,但無論我做什麼,它總是最終的int
和結果的任何decimal
部分被簡單地刪除,所以對於前3.7結束了3.
有沒有辦法強制EF將結果以某種方式轉換爲double
?在分割表達式在運行時中斷之前添加(double
)強制轉換。
使用EF5。
謝謝!
您是否嘗試過使用'Convert.ToDouble()'? –
感謝您的回覆!是的..同樣的錯誤。 – justabuzz
您是否嘗試過:'x.ExperienceMonths * 1.0m/12.0m:0.0m' - 您目前所做的是**整數**部分,並按設計和預期工作。 –