Я пытаюсь выполнить этот SQL SELECT в моем приложении C #:
SELECT SUM( a.VALUE_A) / SUM( a.VALUE_B)
FROM "TABLE" a
WHERE DATE_COLUMN = to_date('12/05/2018', 'DD/MM/YYYY');
Использование этого C # с кодом LINQ:
dto.day = await database.Where(x => x.DATE_COLUMN.Date == date_filtered)
.SumAsync(x => (x.VALUE_A) / (x.VALUE_B));
Но это вызывает исключение, говорящее, что делитель это НОЛЬ. Итак, я попытался обработать это, добавив троичный IF внутри метода SumAsync ():
dto.day = await database.Where(x => x.DATE_COLUMN.Date == date_filtered)
.SumAsync(x => x.VALUE_B == 0 ? 0 : (x.VALUE_A) / (x.VALUE_B));
Но конечный результат отличается от прямого результата SQL:
SQL дает правильный результат, например: 86.25
C # дает неверный результат: 227,87
Пожалуйста, что я делаю не так?