Мы используем EF Core: 2.2.1, а свойство DTO FinalTotal установлено в десятичное число.
В модели EF Core оценочное значение установлено в десятичное значение 18, 2
Вв базе данных оценочное значение установлено в десятичное значение 18, 2
. По какой-то причине EsitmatedValue возвращается как целое число вместо десятичного
Так что мы бы увидели 75 долларов вместо 75,34
Есть ли ошибка в EF Core, которая каким-то образом связана с приведенным ниже оператором, где он будет возвращаться как целое число вместо десятичного?
FinalTotal = ((x.DivisionParts.Sum(y => y.UnitPrice * y.Quantity) ?? 0) + (x.DivisionServices.Sum(y => y.ServiceCost * y.Quantity) ?? 0)) == 0 ? x.EstimatedValue ?? 0 : ((x.DivisionParts.Sum(y => y.UnitPrice * y.Quantity) ?? 0) + (x.DivisionServices.Sum(y => y.ServiceCost * y.Quantity) ?? 0))
Если мы сделаем следующее, он будет работать нормально и десятичное числоесть.
FinalTotal = x.EstimatedValue;