Ich kann das einfach nicht lösen. Ich versuche, den Wert von TOTAL auf der Grundlage der folgenden Bedingung zu summieren, was einen ArithmeticOverflow verursacht:
var rawData = (from e in Context.TOTALS
where (e.PAN == "2600000246701" || e.PAN == "2600000246696")
select e.TOTAL).Sum();
Wenn ich jedoch die Bedingung in zwei getrennte Abfragen aufteile, funktioniert es:
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
Der Wert passt eindeutig in eine Dezimalzahl, und ich kann nicht erkennen, warum es zu irgendwelchen Verengungsumrechnungen kommen sollte.
Ich verwende Entity Framework mit einem Oracle-Backend.