У меня есть функция, которая возвращает ограничение таблицы по умолчанию. Я хочу использовать это значение для расчетов в другой таблице. Когда запрашиваете мое приложение, набор результатов имеет правильные значения (проверьте BaseValue
и ExpcUnits
):
![enter image description here](https://i.stack.imgur.com/I8Kuv.png)
Однако, когда я запускаю В моем приложении ASP. NET MVC появляется следующая ошибка:
Приведение к типу значения 'System.Double' не выполнено, поскольку материализованное значение равно нулю. Либо параметр generi c результирующего типа, либо запрос должен использовать обнуляемый тип.
Это часть моего запроса:
select
b.TimeOffHrs, b.TrainHrs,
(((a.Bizdays * 8)*(b.FTEVar)-(b.TrainHrs+b.TimeOffHrs)) * (dbo.fn_GetActiveStaffBaseValue(@staffNo, a.Month, a.Year)/8)) as ExpcUnits,
c.staffno, c.TotalUnits,
dbo.fn_GetActiveStaffBaseValue(@staffNo, a.Year, a.Month) AS BaseValue,
Я заменил функцию на жестко закодированные значения, и это работает в приложении. Я не знаю, почему это не работает с моей функцией.