Когда я вызываю метод Average для десятичного столбца с типом SQL DECIMAL (18,8)
, иногда я получаю округленное значение до 2 десятичных знаков, а иногда нет.
Когда я печатаю его на консоль, я получаю что-то вроде 0.010000
и 0.021232
, поэтому кажется, что это происходит, когда значение меньше 0,01.
Я пытался установить тип данных явно, используя ModelBuilder
, но это ничего не меняет.
Пока я писал эти вопросы, я проверял профилировщик SQL и обнаружил проблему. Когда EF отправляет запрос, он преобразует столбец в DECIMAL(18,2)
Итак, теперь возникает вопрос: «Зачем они это делают и как я могу выбрать желаемую точность?» Это ошибка или особенность?