2011-09-24 87 views
5

我有一個web應用程序工作正常,但不再工作。它甚至可以在我的開發計算機上工作(連接到本地數據庫),但不能用於生產。因此,在我的開發計算機上,我更改連接字符串以打擊生產數據庫,並得到錯誤:序列包含多個元素。Web應用程序錯誤:序列包含多個元素

我相信它必須與數據庫有關,但我不知道如何弄清楚它是什麼,它裏面有近千行數據。

下面是獲取數據的linq語句。關於如何解決這個問題的任何想法?

在此先感謝

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))); 
} 

沒有它發生在我,但我不認爲這將是有益的。下面是它:

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. 
+0

您是否曾想過發佈您收到的實際完整的例外情況? –

+0

確切的錯誤和堆棧跟蹤? –

+0

難道你沒有任何DataLoadOptions附加到你的數據上下文類嗎? –

回答

20

例外建議您使用LINQ查詢集包含符合您查詢多個項目,和你調用SingleOrDefault它拋出一個異常出現這樣的情況。

您可能正在尋找使用FirstOrDefault來代替查詢的第一個匹配項。

雖然很難說,因爲我沒有看到在您的粘貼代碼示例中調用SingleOrDefault

+1

就像你一樣,我在調用堆棧中看到'SingleOrDefault',但看不到他的代碼。我有類似的問題;在我的代碼中沒有'SingleOrDefault',但是當調用LINQ枚舉的MoveNext方法時,它調用SingleOrDefault,我不知道爲什麼,也沒有任何代碼的可見性(也許我需要打開.Net Framework源碼步進對於MS'代碼)。 – Zarepheth

3

我已經解決了這個問題!感謝您的輸入。這個問題是插入數據庫時​​的重複記錄,當程序將數據拉回時,它只是假設將一條記錄拉回來,並且它得到了2.謝謝!

+3

那你爲什麼不接受@ AndrewC的回答。我相信這個完美的答案。 – Scorpion

相關問題