У меня есть функция с табличным значением в SQL Server fnGetEmployeeEligibility
, которая принимает EmpId
и на основе некоторых вычислений возвращает набор результатов с этими столбцами:
EmpId
(int
) IsEligibleForPromotion
(bit
) IsEligibleForHike
(bit
) IsEligibleForRelocation
(bit
) IsEligibleForRemote
(bit
) IsEligibleForSuperWallet
(bit
)
Функция SQL работает нормально, и я ее протестировал. Теперь O нужно вызвать эту функцию в моем приложении, и я использую EF Core
Это вызывает ошибку:
DbFunction 'ÉmpContext.fnGetEmployeeEligibility' имеет недопустимый тип возврата ' ÉmpMaster '. Убедитесь, что тип возвращаемого значения может быть отображен текущим поставщиком '
Public void CheckEligiblity(int empId)
{
var result = _empContext.fnGetEmployeeEligibility(empId);
}
В моем EmpContext
классе
[DBFunction("fnGetEmployeeEligibility","emp")]
Public EmpMaster fnGetEmployeeEligibility(int empId)
{
EmpMaster empM = new EmpMaster();
return empM;
}
Я создал настраиваемый класс EmpMaster
, который имеет свойства, отображающие функцию fnGetEmployeeEligibility
:
Public Class EmpMaster
{
Public int EmpId { get; set; }
Public bool IsEligibleForPromotion { get; set; }
Public bool IsEligibleForHike { get; set; }
Public bool IsEligibleForRelocation { get; set; }
Public bool IsEligibleForRemote { get; set; }
Public bool IsEligibleForSuperWallet { get; set; }
}