Я получаю ошибку Numeric value does not fit in a System.Decimal
в выражении Linq, где я беру сумму произведения двух чисел, которые в Postgres представлены Numeric(100,20)
. Результатом этого вычисления, по-видимому, является Numeric
с 40 десятичными знаками, которые не могут быть преобразованы в. NET Decimal
, отсюда и ошибка.
Я понимаю от некоторых SQL экспертов, что я мог бы использовать Round(num, 20)
в SQL, чтобы исправить это, но я не знаю, как это сделать с помощью Linq.
Я хотел бы продолжать использовать Linq и не использовать необработанные выражения SQL, поскольку у меня есть модульные тесты, которые зависят от баз данных в памяти, которые не понимают raw SQL.