我将此dll(Intelliob.HumanResource.Security)参考添加到了我的Web API。
在VB中,我正在做类似的事情。
Dim mITPLCurrentUser As ITPLCurrentUser = Session("CurrentUser")
Dim mITPLCurrentUserEmployee As ITPLCurrentUserEmployee =
mITPLCurrentUser.ITPLCurrentUserEmployee
Dim mStateId As int = mITPLCurrentUserEmployee.EmployeeWorkStateId
但是我只是用C#无法做到这一点。
c#
string CurrentUser = dbEntities.empmasters.where(c => c.EmployeeId ==
EmployeeID).Select(c => c.Code).FirstOrDefault();
ITPLCurrentUser mITPLCurrenUser = CurrentUser; // this lines gives the error
ITPLCurrentUserEmployee mITPLCurrentUserEmployee =
mITPLCurrenUser.ITPLCurrentUserEmployee;
int mStateId = mITPLCurrenUserEmployee.EmployeeWorkStateId;
我没有在我的API中使用会话,因为我阅读它并不是在Web API中使用会话的好习惯。我通过linq作为字符串检索当前用户,然后将其分配给ITPLCurrentUser。
我了解该类型为字符串,而mITPLCurrentUser期望该类型为ITPLCurrentUser。但我只是不明白我应该如何实现这一目标?还有vb如何忽略所有这种类型的Casting,而c#却没有?