Обработка преобразований - PullRequest
0 голосов
/ 04 сентября 2018

В vb:

Dim mEmpLeaves As EmployeeLeaves
mEmpLeaves = EmployeeLeaves.GetEmployeeLeaves(Session("DbConnector"), 
              "dbo.usp_EmployeeWebLeave" & EmployeeId)
ViewState("Empleave") = mEmpLeaves

в функции сравнения, я использую это представление, как:

Dim mEmployeeLeaves As EmployeeLeaves = DirectCast(ViewState("Empleave"), 
                                    EmployeeLeaves)
Dim mEmployeeLeave As EmployeeLeave = 
                             mEmployeeLeaves.GetEmployeeLeaveById(leaveId)

Поскольку я не использую viewstate в своем API из-за его поведения без сохранения состояния, что, как я слышал, также неверно. Как мне этого добиться?

Что я делаю, это

EmployeeLeaves mEmployeeLeaves = DbEntities.Usp_EmployeeWebLeave(EmployeeId)
                                 .FirstOrDefault();
mEmployeeLeave mEmployeeLeave= mEmployeeLeaves.GetEmployeeLeaveById(LeaveId)

также пытался:

object Leaves = DbEntities.Usp_EmployeeWebLeave(EmployeeId)
                                 .FirstOrDefault();
EmployeeLeaves mEmployeeLeaves = (EmployeeLeaves)Leaves;
EmployeeLeave mEmployeeLeave= mEmployeeLeaves.GetEmployeeLeaveById(LeaveId);

Я получаю исключение «

Невозможно привести тип объекта 'employeeDataAccess.payCare.usp_EmployeeWebLeave_Result' для ввода «HumanResource.Paycare.EmployeeLeaves

.

Я не нахожу способ разыграть это. В таком случае vb кажется таким простым. Потратил впустую весь мой день за этим. Пожалуйста, если кто-нибудь может убрать меня из этого. Заранее спасибо.

1 Ответ

0 голосов
/ 06 сентября 2018

Поскольку оба они разных типов, они должны быть сопоставлены вручную,

var Leaves = DbEntities.Usp_EmployeeWebLeave(EmployeeId)
                             .FirstOrDefault();
EmployeeLeaves mEmployeeLeaves=Converter(Leaves)






EmployeeLeaves Converter(usp_EmployeeWebLeave_Result e)
{
   return new
             HumanResource.Paycare.EmployeeLeaves(){
                   Name=leaves.Name,
                   Age=leaves.Age
                   ...........
          }   ;
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...