错误:InvalidOperationException序列包含多个元素h

时间:2015-06-12 08:04:56

标签: c# .net linq

我是使用asp.net的新手,但我目前正处于学习过程中,因此客户在使用网页时会遇到此错误,我会将错误输入。 需要找到此错误发生的位置和原因以及如何解决?

Sequence contains more than one element

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息。

  

异常详细信息:System.InvalidOperationException:Sequence包含   不止一个元素

     

来源错误:

     

执行期间生成了未处理的异常   当前的网络请求。有关的来源和位置的信息   可以使用下面的异常堆栈跟踪来识别异常。

     

堆栈追踪:

     

[InvalidOperationException:Sequence包含多个元素]

     

System.Linq.Enumerable.SingleOrDefault(IEnumerable`1 source)   5923404

     

FastMenu.OrdersInfo.rpt_Orders_ItemDataBound(Object sender,   DataListItemEventArgs e)+304

     

System.Web.UI.WebControls.DataListItemEventHandler.Invoke(对象   sender,DataListItemEventArgs e)+0

     

System.Web.UI.WebControls.DataList.OnItemDataBound(DataListItemEventArgs   e)+12178161

     

System.Web.UI.WebControls.DataList.CreateItem(Int32 itemIndex,   ListItemType itemType,Boolean dataBind,Object dataItem)+199

     

System.Web.UI.WebControls.DataList.CreateControlHierarchy(布尔   useDataSource)+995

     

System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e)   174

     

FastMenu.OrdersInfo.dl_Orders_ItemDataBound(对象发送者,   DataListItemEventArgs e)+1690

     

System.Web.UI.WebControls.DataListItemEventHandler.Invoke(对象   sender,DataListItemEventArgs e)+0

     

System.Web.UI.WebControls.DataList.OnItemDataBound(DataListItemEventArgs   e)+12178161

     

System.Web.UI.WebControls.DataList.CreateItem(Int32 itemIndex,   ListItemType itemType,Boolean dataBind,Object dataItem)+199

     

System.Web.UI.WebControls.DataList.CreateControlHierarchy(布尔   useDataSource)+995

     

System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e)   174

     

FastMenu.OrdersInfo.dl_AllOrdersData_ItemDataBound(Object sender,   DataListItemEventArgs e)+2097

     

System.Web.UI.WebControls.DataListItemEventHandler.Invoke(对象   sender,DataListItemEventArgs e)+0

     

System.Web.UI.WebControls.DataList.OnItemDataBound(DataListItemEventArgs   e)+12178161

     

System.Web.UI.WebControls.DataList.CreateItem(Int32 itemIndex,   ListItemType itemType,Boolean dataBind,Object dataItem)+199

     

System.Web.UI.WebControls.DataList.CreateControlHierarchy(布尔   useDataSource)+995

     

System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e)   174

     

FastMenu.OrdersInfo.fillOrders()+139

     

FastMenu.OrdersInfo.Page_Load(Object sender,EventArgs e)+1706

     

System.Web.UI.Control.LoadRecursive()+71

     

System.Web.UI.Page.ProcessRequestMain(布尔   includeStagesBeforeAsyncPoint,Boolean includeStagesAfterAsyncPoint)   3178

1 个答案:

答案 0 :(得分:2)

如果查询返回多个项,则

SingleOrDefault会抛出该异常。这很好,因为您知道您的查询不正确或您的数据库(或集合)中存在不一致。

因此,要么更正查询,要么只返回一个项目,要么使用FirstOrDefault执行相同但如果序列中有多个项目则不会抛出异常。