用于执行LINQ查询的InvalidOperationException

时间:2011-09-03 05:15:17

标签: .net vb.net linq exception-handling

'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

1 个答案:

答案 0 :(得分:0)

我认为,错误发生在你的where子句中。检查EmpMaster.EmailSession("gUserName")的类型是否相同。我相信他们不是。