无法将类型字符串隐式转换为(我的内置dll)Intelliob.HumanResource.Security

时间:2018-08-31 11:08:06

标签: c# asp.net-web-api2

我将此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#却没有?

0 个答案:

没有答案