有趣的人。
请参阅以下实体框架查询:
Entities.Select(x => new
{
x.ExperienceMonths,
Calculated = (x.ExperienceMonths > 0 ? x.ExperienceMonths / 12 : 0)
})
列ExperienceMonths
在数据库中是tinyint
,这意味着它在EF模型中是byte
。
我希望Calculated
列为double
(float
),因为我们正在划分一个数字,但无论我做什么,它总是以{{{ 1}}并且结果的任何int
部分都被删除,因此对于ex 3.7结束3。
有没有办法强制EF将结果以某种方式转换为decimal
?在分割表达式在运行时断开之前添加(double
)强制转换。
使用EF5。
谢谢!
答案 0 :(得分:0)
我刚试过:
Calculated = (x.ExperienceMonths > 0 ? ((double)x.ExperienceMonths) / 12 : 0)
它运作良好