首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Web应用程序错误:序列包含多个元素

Web应用程序错误:序列包含多个元素
EN

Stack Overflow用户
提问于 2011-09-25 03:06:21
回答 2查看 20.2K关注 0票数 5

我有一个web应用程序,它工作得很好,但不再工作。它甚至可以在我的开发计算机(连接到本地数据库)上运行,但不能在生产环境下运行。因此,在我的开发计算机上,我更改了连接字符串以访问生产数据库,并得到错误: Sequence包含多个元素。

我相信它一定与数据库有关,但我不知道如何弄清楚它是什么,它几乎有一千行数据。

下面是获取数据的linq语句。你有什么办法让我解决这个问题吗?

提前感谢

代码语言:javascript
复制
protected void lnqItems_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
    DocksideValidationDataContext db = new DocksideValidationDataContext();

    DateTime startDate = (radStartDate.SelectedDate.HasValue)
        ? radStartDate.SelectedDate.Value
        : DateTime.Parse("1/1/1900");
    DateTime endDate = (radEndDate.SelectedDate.HasValue)
        ? radEndDate.SelectedDate.Value
        : DateTime.Parse("1/1/2500");
    int prevalNum = (txtSummaryFormNumber.Text.Trim() == "")
        ? -1
        : Convert.ToInt32(txtSummaryFormNumber.Text.Trim());

    e.Result = (from x in db.SummaryForms
                where (x.SummaryFormId == prevalNum
                    || (prevalNum == -1)
                    && (x.SampleDate >= startDate.Date)
                    && (x.SampleDate <= endDate.Date)
                    && (x.StateId == Convert.ToInt32(ddlState.SelectedValue)))
                orderby (x.SampleDate) descending
                select x).AsEnumerable()
                         .Select(x => new
                         {
                             x.SummaryFormId,
                             x.SampleDate,
                             DockName = x.Dock.Code + " " + x.Dock.Name,
                             Status = GetStatus(x),
                             Color = GetStatusColor(GetStatus(x))
                         })
                        .Where(x => ((prevalNum != -1
                            || cboFilter.Text == "All")
                            || (x.Status == cboFilter.Text)));
}

不,我想到了,但我并不认为这是有用的。这就是它:

代码语言:javascript
复制
System.InvalidOperationException: Sequence contains more than one element

Generated: Sat, 24 Sep 2011 15:57:41 GMT

System.Web.HttpUnhandledException (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: Sequence contains more than one element
   at System.Linq.Enumerable.SingleOrDefault[TSource](IEnumerable`1 source)
   at System.Data.Linq.EntityRef`1.get_Entity()
   at Secure_SummaryForms.<GetStatus>b__4(SummaryFormVessel z)
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at System.Linq.Enumerable.Any[TSource](IEnumerable`1 source)
   at Secure_SummaryForms.GetStatus(SummaryForm x)
   at Secure_SummaryForms.<lnqItems_Selecting>b__0(SummaryForm x)
   at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
   at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
   at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
   --- End of inner exception stack trace ---
   at System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.RuntimeMethodHandle.InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.Web.UI.WebControls.QueryableDataSourceHelper.ToList(IQueryable query, Type dataObjectType)
   at System.Web.UI.WebControls.LinqDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments)
   at System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback)
   at System.Web.UI.WebControls.DataBoundControl.PerformSelect()
   at System.Web.UI.WebControls.BaseDataBoundControl.DataBind()
   at System.Web.UI.WebControls.GridView.DataBind()
   at System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound()
   at System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls()
   at System.Web.UI.Control.EnsureChildControls()
   at System.Web.UI.WebControls.GridView.get_Rows()
   at Secure_SummaryForms.Page_Load(Object sender, EventArgs e)
   at System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e)
   at System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e)
   at System.Web.UI.Control.OnLoad(EventArgs e)
   at System.Web.UI.Control.LoadRecursive()
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.HandleError(Exception e)
   at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
   at System.Web.UI.Page.ProcessRequest()
   at System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context)
   at System.Web.UI.Page.ProcessRequest(HttpContext context)
   at ASP.secure_summaryforms_aspx.ProcessRequest(HttpContext context)
   at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)


Server Variables
Name    Value
ALL_HTTP    HTTP_CONNECTION:keep-alive HTTP_ACCEPT:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 HTTP_ACCEPT_CHARSET:ISO-8859-1,utf-8;q=0.7,*;q=0.7 HTTP_ACCEPT_ENCODING:gzip, deflate HTTP_ACCEPT_LANGUAGE:en-us,en;q=0.5 HTTP_COOKIE:ASP.NET_SessionId=yka231rdr1r3yqv0nmbhz1nh; .POWERBASECOOKIE=5FC2CF98E578B444ACA6B75A382EAEF31EFC781DA11AF7884B360A82E544539BEC5E5BB62DD012A1D6E7005869FFF8A205D632FB724AB01EFDBED78A9A035C76B22250F8FF0BCC3AD9AB56C4EEC44C05159110DF95A6344888CB3300B642E312F3B152475CD4FA631C0000699763AE173978375D598154CE85AEF83C81E1FAF82842DF48F1D9AC97872F09FFCA33B22B; .ASPXROLES=IS-YIxYt7iXk72HXdLNE18SBwgsEd2wo3D4GfRI72jYdSmmLhUxfzBMMpFYXg5CjiowldcwSKolBjaP8jrMUgh5-rQWjQhUTY02VS3IhD5Xcav_B-d-MiaumYD-0JMWFR9-1xcP2eHQXLpnZlXzcZXhwh6G2mEDVoNZGls8MNK8bAVlo2WuTqReMmk1GTyu5duoZzh_fCs1S6AZuhWY9bwdi28kA_lfoyp4SCm2zLgNddjhbsLmgN5oopdPo9-oONS7Z5br51qYu5sS9vq-hm_TbHhHL_W7XbIKo3pJccZ1-VXkLbtIAiS_hSccjFmk1f3ttWhUnmULJVQaNNepOHofbivSEQvhQQxX-f5hpGI4K-9FqcJ-kFAjw93CrnZ2rtu6n8i3tblPEDQeAbd1JkSJjmKGpSH_4PVh1MsXNDZwSSnbBHqTaO9iKiVAvUWvANLbBxmOc3w0SfP4DUbLtl3YZVCbG_JWr5s0f5Is8scr7Nc-AxK2HEzjNVber1EofJK48eLaVJPyvm-858Yhtp5XgqMeJQUwh5l9LYeZNbc8kqxPG7kOl0Zq7q8407I230 HTTP_HOST:docksidevalidation.org HTTP_REFERER:http://docksidevalidation.org/secure/default.aspx HTTP_USER_AGENT:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20100101 Firefox/6.0.2
ALL_RAW Connection: keep-alive Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Accept-Encoding: gzip, deflate Accept-Language: en-us,en;q=0.5 Cookie: ASP.NET_SessionId=yka231rdr1r3yqv0nmbhz1nh; .POWERBASECOOKIE=5FC2CF98E578B444ACA6B75A382EAEF31EFC781DA11AF7884B360A82E544539BEC5E5BB62DD012A1D6E7005869FFF8A205D632FB724AB01EFDBED78A9A035C76B22250F8FF0BCC3AD9AB56C4EEC44C05159110DF95A6344888CB3300B642E312F3B152475CD4FA631C0000699763AE173978375D598154CE85AEF83C81E1FAF82842DF48F1D9AC97872F09FFCA33B22B; .ASPXROLES=IS-YIxYt7iXk72HXdLNE18SBwgsEd2wo3D4GfRI72jYdSmmLhUxfzBMMpFYXg5CjiowldcwSKolBjaP8jrMUgh5-rQWjQhUTY02VS3IhD5Xcav_B-d-MiaumYD-0JMWFR9-1xcP2eHQXLpnZlXzcZXhwh6G2mEDVoNZGls8MNK8bAVlo2WuTqReMmk1GTyu5duoZzh_fCs1S6AZuhWY9bwdi28kA_lfoyp4SCm2zLgNddjhbsLmgN5oopdPo9-oONS7Z5br51qYu5sS9vq-hm_TbHhHL_W7XbIKo3pJccZ1-VXkLbtIAiS_hSccjFmk1f3ttWhUnmULJVQaNNepOHofbivSEQvhQQxX-f5hpGI4K-9FqcJ-kFAjw93CrnZ2rtu6n8i3tblPEDQeAbd1JkSJjmKGpSH_4PVh1MsXNDZwSSnbBHqTaO9iKiVAvUWvANLbBxmOc3w0SfP4DUbLtl3YZVCbG_JWr5s0f5Is8scr7Nc-AxK2HEzjNVber1EofJK48eLaVJPyvm-858Yhtp5XgqMeJQUwh5l9LYeZNbc8kqxPG7kOl0Zq7q8407I230 Host: docksidevalidation.org Referer: http://docksidevalidation.org/secure/default.aspx User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20100101 Firefox/6.0.2
APPL_MD_PATH    /LM/W3SVC/1154673598/Root
APPL_PHYSICAL_PATH  C:\Inetpub\Websites\DocksideValidation\Website\
AUTH_TYPE   Forms
AUTH_USER   admin
AUTH_PASSWORD    
LOGON_USER   
REMOTE_USER admin
CERT_COOKIE  
CERT_FLAGS   
CERT_ISSUER  
CERT_KEYSIZE     
CERT_SECRETKEYSIZE   
CERT_SERIALNUMBER    
CERT_SERVER_ISSUER   
CERT_SERVER_SUBJECT  
CERT_SUBJECT     
CONTENT_LENGTH  0
CONTENT_TYPE     
GATEWAY_INTERFACE   CGI/1.1
HTTPS   off
HTTPS_KEYSIZE    
HTTPS_SECRETKEYSIZE  
HTTPS_SERVER_ISSUER  
HTTPS_SERVER_SUBJECT     
INSTANCE_ID 1154673598
INSTANCE_META_PATH  /LM/W3SVC/1154673598
LOCAL_ADDR  192.168.1.131
PATH_INFO   /secure/SummaryForms.aspx
PATH_TRANSLATED C:\Inetpub\Websites\DocksideValidation\Website\secure\SummaryForms.aspx
QUERY_STRING     
REMOTE_ADDR 66.186.243.74
REMOTE_HOST 66.186.243.74
REMOTE_PORT 50339
REQUEST_METHOD  GET
SCRIPT_NAME /secure/SummaryForms.aspx
SERVER_NAME docksidevalidation.org
SERVER_PORT 80
SERVER_PORT_SECURE  0
SERVER_PROTOCOL HTTP/1.1
SERVER_SOFTWARE Microsoft-IIS/6.0
URL /secure/SummaryForms.aspx
HTTP_CONNECTION keep-alive
HTTP_ACCEPT text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
HTTP_ACCEPT_CHARSET ISO-8859-1,utf-8;q=0.7,*;q=0.7
HTTP_ACCEPT_ENCODING    gzip, deflate
HTTP_ACCEPT_LANGUAGE    en-us,en;q=0.5
HTTP_COOKIE ASP.NET_SessionId=yka231rdr1r3yqv0nmbhz1nh; .POWERBASECOOKIE=5FC2CF98E578B444ACA6B75A382EAEF31EFC781DA11AF7884B360A82E544539BEC5E5BB62DD012A1D6E7005869FFF8A205D632FB724AB01EFDBED78A9A035C76B22250F8FF0BCC3AD9AB56C4EEC44C05159110DF95A6344888CB3300B642E312F3B152475CD4FA631C0000699763AE173978375D598154CE85AEF83C81E1FAF82842DF48F1D9AC97872F09FFCA33B22B; .ASPXROLES=IS-YIxYt7iXk72HXdLNE18SBwgsEd2wo3D4GfRI72jYdSmmLhUxfzBMMpFYXg5CjiowldcwSKolBjaP8jrMUgh5-rQWjQhUTY02VS3IhD5Xcav_B-d-MiaumYD-0JMWFR9-1xcP2eHQXLpnZlXzcZXhwh6G2mEDVoNZGls8MNK8bAVlo2WuTqReMmk1GTyu5duoZzh_fCs1S6AZuhWY9bwdi28kA_lfoyp4SCm2zLgNddjhbsLmgN5oopdPo9-oONS7Z5br51qYu5sS9vq-hm_TbHhHL_W7XbIKo3pJccZ1-VXkLbtIAiS_hSccjFmk1f3ttWhUnmULJVQaNNepOHofbivSEQvhQQxX-f5hpGI4K-9FqcJ-kFAjw93CrnZ2rtu6n8i3tblPEDQeAbd1JkSJjmKGpSH_4PVh1MsXNDZwSSnbBHqTaO9iKiVAvUWvANLbBxmOc3w0SfP4DUbLtl3YZVCbG_JWr5s0f5Is8scr7Nc-AxK2HEzjNVber1EofJK48eLaVJPyvm-858Yhtp5XgqMeJQUwh5l9LYeZNbc8kqxPG7kOl0Zq7q8407I230
HTTP_HOST   docksidevalidation.org
HTTP_REFERER    http://docksidevalidation.org/secure/default.aspx
HTTP_USER_AGENT Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0.2) Gecko/20100101 Firefox/6.0.2

Powered by ELMAH, version 1.1.11517.2009. Copyright (c) 2004-9, Atif Aziz. All rights reserved. Licensed under Apache License, Version 2.0.
EN

回答 2

Stack Overflow用户

发布于 2011-09-26 23:27:43

异常表明您正在使用Linq查询的集合包含多个与您的查询匹配的项,并且您正在调用SingleOrDefault,它在这种情况下抛出异常。

您可能希望改用FirstOrDefault,它接受查询的第一个匹配项。

虽然很难判断,因为我在粘贴的代码示例中没有看到对SingleOrDefault的调用。

票数 20
EN

Stack Overflow用户

发布于 2011-09-27 00:24:16

我已经解决了这个问题!谢谢你的输入。问题是在数据库中插入了重复的记录,当程序拉回数据时,它应该只拉回一条记录,结果得到了2条。谢谢!

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7541229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档