asp.net – LINQ:不支持查询运算符’ElementAtOrDefault’
发布时间:2020-11-17 12:55:25 所属栏目:asp.Net 来源:互联网
导读:为什么以下代码会产生错误? The query operator ‘ElementAtOrDefault’ is not supported Dim Im = (From view In Db.Views Where _ view.Pass = txtCode.Text _ Select New With {.Id = view.UniqueID.
为什么以下代码会产生错误?
Dim Im = (From view In Db.Views Where _ view.Pass = txtCode.Text _ Select New With {.Id = view.UniqueID.ToString}_ ).Distinct Response.Redirect("~/test.aspx?x=" & Im(0).Id) 有没有办法在不使用FirstOrDefault选项的情况下修复它? 更新:这是StackTrace at System.Data.Linq.SqlClient.QueryConverter.VisitSequenceOperatorCall(MethodCallExpression mc) at System.Data.Linq.SqlClient.QueryConverter.VisitMethodCall(MethodCallExpression mc) at System.Data.Linq.SqlClient.QueryConverter.VisitInner(Expression node) at System.Data.Linq.SqlClient.QueryConverter.ConvertOuter(Expression node) at System.Data.Linq.SqlClient.SqlProvider.BuildQuery(Expression query,SqlNodeAnnotations annotations) at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) at System.Data.Linq.DataQuery`1.System.Linq.IQueryProvider.Execute[S](Expression expression) at System.Linq.Queryable.ElementAtOrDefault[TSource](IQueryable`1 source,Int32 index) at Login.btnLogin_Click(Object sender,EventArgs e) in D:ProjectsMemoriaLogin.aspx.vb:line 14 at System.Web.UI.WebControls.Button.OnClick(EventArgs e) at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl,String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint) 解决方法您需要做的是将.ToList()添加到查询的末尾.这应该工作:Dim Im = (From view In Db.Views Where _ view.Pass = txtCode.Text _ Select New With {.Id = view.UniqueID.ToString}_ ).Distinct.ToList() Response.Redirect("~/test.aspx?x=" & Im(0).Id) 如果没有.ToList(),查询只返回一个DataQuery(Of T)而不是List(Of T).添加ToList调用有两个作用: >强制查询立即执行,和 希望有所帮助! (编辑:百色站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 在fileupload中选择立即调用C#函数文件
- asp.net-mvc – 如何组合两个dataTextFields的SelectList描
- ASP.NET MVC下Ajax.BeginForm方式无刷新提交表单实例
- asp.net-mvc – 使用输出缓存和其他动作过滤器
- asp.net – 适用于多个用户的EWS通知中心
- asp.net – 经过身份验证的服务不支持跨域javascript回调.
- asp.net-mvc – 存储库与DAL中的服务模式:EF和Dapper
- ASP.Net Web应用程序安全性不适用于IIS 7?
- 我应该在ASP.NET MVC中构建我的下一个Web应用程序吗?
- ASP.NET网站管理系统退出 清除浏览器缓存,Session的代码
推荐文章
站长推荐
- ASP.NET MVC下Ajax.BeginForm方式无刷新提交表单
- asp.net-mvc – 已经使用相同的参数类型定义了一
- asp.net – 应用程序池在iisreset之后无法启动
- asp.net-mvc – 从MVC版本1迁移后,ASP.NET MVC 2
- asp.net-web-api – 在WebApi OData中为OData服务
- asp.net-web-api – 首先使用ASP.NET Web API的E
- asp.net-mvc – 为什么在我的ASP MVC4应用程序中
- 如何在ASP.NET和C#中加载下拉列表?
- asp.net-mvc – 在MVC命令,优先级和功能问题中授
- asp.net – 在我的网站中添加HttpModule时出现“
热点阅读