'Initialize The Database Connection'
Dim dbTRCoreDatabase As New TRCoreDatabase
'Query For Get The Employee ID'
Dim listEmployeeID As IQueryable(Of Long) = (From EmpMaster In dbTRCoreDatabase.EmployeeMasters Where EmpMaster.Email = Session("gUserName") Select EmpMaster.EmployeeID)
MsgBox(listEmployeeID(0).ToString)
当我执行此查询时,出现以下错误。
System.InvalidOperationException:期间发生异常 执行'
Extent<TR_Portal_Homecare.EmployeeMaster>.Where(EmpMaster => Convert(CompareObjectEqual(Convert(EmpMaster.Email), value(ASP.activeplacement_aspx).Session.get_Item("gUserName"), False))).Select(EmpMaster => EmpMaster.EmployeeID)
'。看到 InnerException以获取更多详细信息。 ---&GT; System.InvalidCastException: 无法转换类型的对象 输入'Telerik.OpenAccess.Query.MethodCallTransformation
' 'OpenAccessRuntime.DataObjects.query.Node
'。在 Telerik.OpenAccess.Query.ExpressionCompiler.PerformDatabaseQueryImpl(类型 type,Int32 elementAt,Object [] groupResolutionParamValues,Boolean 单身) Telerik.OpenAccess.Query.ExpressionCompiler.PerformDatabaseQuery(类型 type,Int32 elementAt,Object [] groupResolutionParamValues,Boolean 单)---内部异常堆栈跟踪结束--- at Telerik.OpenAccess.Query.ExpressionCompiler.PerformDatabaseQuery(类型 type,Int32 elementAt,Object [] groupResolutionParamValues,Boolean 单身) Telerik.OpenAccess.Query.ExpressionExecution.PerformDatabaseQuerySingle [TResult,T](Piece`1 片,Int32&amp;发现,Int32 elemAt,布尔单)at Telerik.OpenAccess.Query.ExpressionExecution.PerformQuerySingle [T,TResult](Piece`1 片段,表达式)at Telerik.OpenAccess.Query.Piece`1.System.Linq.IQueryProvider.Execute [TResult](式 expr)at System.Linq.Queryable.ElementAtOrDefault [TSource](IQueryable`1 source, Int32索引)在TR_Portal_Homecare.ActivePlacement.Page_Load(对象 发件人,EventArgs e)in E:\ Palanikumar \项目\今天\ TRCorePortal \ TR_Portal_Homecare \ ActivePlacement.aspx.vb:行 12
答案 0 :(得分:0)
我认为,错误发生在你的where子句中。检查EmpMaster.Email
和Session("gUserName")
的类型是否相同。我相信他们不是。