0

有趣的一个。

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

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

该列ExperienceMonthstinyint数据库中的 a,这意味着它是byteEF 模型中的 a。

我希望Calculatedcolumn 是double( float),因为我们正在划分一个数字,但无论我做什么,它总是以 an 结尾,int并且结果的任何decimal部分都被简单地删除,所以 ex 3.7 最终是 3。

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

使用 EF5。

谢谢!

4

1 回答 1

0

我刚试过:

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

它工作得很好

于 2013-02-07T08:33:15.267 回答