.NET EF - 划分字节字段会产生int而不是double

时间:2013-02-07 05:49:25

标签: .net entity-framework

有趣的人。

请参阅以下实体框架查询:

Entities.Select(x => new
{
    x.ExperienceMonths,
    Calculated = (x.ExperienceMonths > 0 ? x.ExperienceMonths / 12 : 0)
})

ExperienceMonths在数据库中是tinyint,这意味着它在EF模型中是byte

我希望Calculated列为doublefloat),因为我们正在划分一个数字,但无论我做什么,它总是以{{{ 1}}并且结果的任何int部分都被删除,因此对于ex 3.7结束3。

有没有办法强制EF将结果以某种方式转换为decimal?在分割表达式在运行时断开之前添加(double)强制转换。

使用EF5。

谢谢!

1 个答案:

答案 0 :(得分:0)

我刚试过:

Calculated = (x.ExperienceMonths > 0 ? ((double)x.ExperienceMonths) / 12 : 0)

它运作良好