我完全无法弄清楚这个问题,我试图根据下面的条件对TOTAL的值进行求和,但这会导致算术溢出:
var rawData = (from e in Context.TOTALS
where (e.PAN == "2600000246701" || e.PAN == "2600000246696")
select e.TOTAL).Sum();
然而,如果我将条件分为两个单独的查询,则可以解决问题:
var rawData1 = (from e in Context.TOTALS
where (e.PAN == "2600000246696")
select e.TOTAL).FirstOrDefault();
var rawData2 = (from e in Context.TOTALS
where (e.PAN == "2600000246701")
select e.TOTAL).FirstOrDefault();
decimal? output = rawData1 + rawData2; //output is 696768.0186M
这个值显然适合十进制,我看不出为什么会发生任何缩小转换。
我正在使用带有 Oracle 后端的 Entity Framework。
.AsEnumberable()
解决了我的问题。那么问题与 Oracle 中的数据类型有关吗?它们目前设置为数字。 - m.edmondson