Try our conversational search powered by Generative AI!

Content Area with VariationContent triggeres SqlException:"Subquery returned more than 1 value."

MJE
MJE
Vote:
 

Hello,

I have a Content Area on a block that I want populate with multiple instances of Variation(my implementation of VariationContent) and return a view with a carousel, displaying the variations.

However, when I call:

IList items = contentArea.Items;

-I get an SQL error (see stacktrace below).

Here's my BlockController: 

 public override ActionResult Index(ProductCarouselBlock currentBlock)
        {
            currentBlock.Products = Populate(currentBlock.ContentArea); 
            return PartialView("~/Views/Blocks/ProductCarousel.cshtml",currentBlock);
        }

        private List Populate(ContentArea contentArea)
        {
            if (contentArea == null) return null;

            IList items = contentArea.Items;

            if (!items.Any())
            {
                return null;
            }

            List products = new List();

            foreach (var item in items)
            {
               ...
            }
            return products;
        }
    }

I hope you can help me.

Thanks, 

Marc

---------------------------

For some reason the log is shown in danish, but you should be able to interpret the stacktrace regardless.

System.Web.HttpException (0x80004005): Der opstod en fejl under udførelsen af den underordnede anmodning for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerWrapper'. ---> System.Web.HttpUnhandledException (0x80004005): Der blev udløst en undtagelse af typen 'System.Web.HttpUnhandledException'. ---> System.Web.HttpException (0x80004005): Der opstod en fejl under udførelsen af den underordnede anmodning for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'. ---> System.Data.SqlClient.SqlException (0x80131904): Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <,><= ,>, >= or when the subquery is used as an expression.
ved System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
ved System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
ved System.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady)
ved System.Data.SqlClient.SqlDataReader.TryConsumeMetaData()
ved System.Data.SqlClient.SqlDataReader.get_MetaData()
ved System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString, Boolean isInternal, Boolean forDescribeParameterEncryption)
ved System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async, Int32 timeout, Task& task, Boolean asyncWrite, Boolean inRetry, SqlDataReader ds, Boolean describeParameterEncryptionRequest)
ved System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, TaskCompletionSource`1 completion, Int32 timeout, Task& task, Boolean& usedCache, Boolean asyncWrite, Boolean inRetry)
ved System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
ved System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
ved System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior)
ved EPiServer.Data.Providers.SqlTransientErrorsRetryPolicy.Execute[TResult](Func`1 method)
ved Mediachase.Data.Provider.SqlDataProvider.LoadReader(DataCommand command)
ved Mediachase.Commerce.Catalog.Data.ContentGuidAdmin.GetEntityByContentGuid(Guid contentGuid)
ved Mediachase.Commerce.Catalog.Data.ContentGuidAdmin.ResolveContentLink(Guid contentGuid)
ved EPiServer.Commerce.Catalog.Provider.CatalogContentProvider.ResolveContent(Guid contentGuid)
ved EPiServer.Core.ContentProvider.EPiServer.Web.IContentResolver.ResolveContent(Guid contentGuid)
ved EPiServer.Web.Internal.PermanentContentLinkMapper.FindInternal(Guid guid)
ved EPiServer.Web.Internal.PermanentLinkMapper.Find(Guid guid)
ved EPiServer.Core.Internal.ContentFragmentFactory.CreateContentFragment(ContentReference contentLink, Guid contentGuid, String tag, ISecuredFragmentMarkupGenerator securedFragmentMarkupGenerator, IDictionary`2 attributes)
ved EPiServer.Core.Internal.ContentFragmentFactory.CreateContentFragment(ContentReference contentLink, Guid contentGuid, ISecuredFragmentMarkupGenerator securedFragmentMarkupGenerator, IDictionary`2 attributes)
ved EPiServer.Core.Html.StringParsing.Internal.ContentFragmentHandler.ParseElement(FragmentParserContext context, ElementFragment element)
ved EPiServer.Core.Html.StringParsing.Internal.FragmentParser.ParseElement(FragmentParserContext context, ElementFragment element)
ved EPiServer.Core.Html.StringParsing.Internal.FragmentParser.ProcessFragments(FragmentParserContext context, Boolean returnOnEndElement)
ved EPiServer.Core.Html.StringParsing.Internal.FragmentParser.Parse(String html, FragmentParserMode parserMode, Boolean evaluateHash)
ved EPiServer.Core.XhtmlString.CreateStringFragments(String unparsedString)
ved EPiServer.Core.ContentArea.CreateStringFragments(String unparsedString)
ved EPiServer.Core.XhtmlString.CreateAndGetFragments()
ved EPiServer.Core.ContentArea.CreateContentAreaItemCollection()
ved EPiServer.Core.ContentArea.get_Items()
ved AlphaSolutions.Neye.Controllers.Blocks.ProductCarouselBlockController.Populate(ContentArea contentArea) i E:\Visual Studio Projects\NEYE\Website\src\AlphaSolutions.Neye.Website\Controllers\Blocks\ProductCarouselBlockController.cs:linje 39
ved AlphaSolutions.Neye.Controllers.Blocks.ProductCarouselBlockController.Index(ProductCarouselBlock currentBlock) i E:\Visual Studio Projects\NEYE\Website\src\AlphaSolutions.Neye.Website\Controllers\Blocks\ProductCarouselBlockController.cs:linje 33
ved lambda_method(Closure , ControllerBase , Object[] )
ved System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
ved System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
ved System.Web.Mvc.Async.AsyncControllerActionInvoker.b__39(IAsyncResult asyncResult, ActionInvocation innerInvokeState)
ved System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`2.CallEndDelegate(IAsyncResult asyncResult)
ved System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
ved System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.b__3d()
ved System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.b__3f()
ved System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.b__3f()
ved System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.b__3f()
ved System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.b__3f()
ved System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.b__3f()
ved System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.b__3f()
ved System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult)
ved System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<>c__DisplayClass2b.b__1c()
ved System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.b__1e(IAsyncResult asyncResult)
ved System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
ved System.Web.Mvc.Controller.b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState)
ved System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
ved System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
ved System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
ved System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
ved System.Web.Mvc.MvcHandler.b__5(IAsyncResult asyncResult, ProcessRequestState innerState)
ved System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
ved System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
ved System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.<>c__DisplayClass4.b__3()
ved System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap[TResult](Func`1 func)
ved System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
ClientConnectionId:1886233c-cf1a-4f47-87cf-649838a29725
Error Number:512,State:1,Class:16
ved System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
ved System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage)
ved System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm)
ved System.Web.Mvc.Html.ChildActionExtensions.ActionHelper(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, TextWriter textWriter)
ved EPiServer.Web.Mvc.PartialRequest.RenderAction(HtmlHelper helper, String action, String controller, Object routeValues)
ved EPiServer.Web.Mvc.Html.IContentDataExtensions.RenderContentData(HtmlHelper html, IContentData contentData, Boolean isContentInContentArea, TemplateModel templateModel, IContentRenderer contentRenderer, Func`1 partialRequest)
ved EPiServer.Web.Mvc.Html.IContentDataExtensions.RenderContentData(HtmlHelper html, IContentData contentData, Boolean isContentInContentArea, TemplateModel templateModel, IContentRenderer contentRenderer)
ved EPiServer.Web.Mvc.Html.ContentAreaRenderer.RenderContentAreaItem(HtmlHelper htmlHelper, ContentAreaItem contentAreaItem, String templateTag, String htmlTag, String cssClass)
ved EPiServer.Web.Mvc.Html.ContentAreaRenderer.RenderContentAreaItems(HtmlHelper htmlHelper, IEnumerable`1 contentAreaItems)
ved EPiServer.Web.Mvc.Html.ContentAreaRenderer.Render(HtmlHelper htmlHelper, ContentArea contentArea)
ved ASP.util_views_shared_displaytemplates_contentarea_ascx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) i http://server/Util/Views/Shared/DisplayTemplates/ContentArea.ascx:linje 4
ved System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
ved System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
ved System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
ved System.Web.Mvc.ViewPage.Render(HtmlTextWriter writer)
ved System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
ved System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
ved System.Web.UI.Page.HandleError(Exception e)
ved System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
ved System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
ved System.Web.UI.Page.ProcessRequest()
ved System.Web.UI.Page.ProcessRequest(HttpContext context)
ved System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.<>c__DisplayClass4.b__3()
ved System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap[TResult](Func`1 func)
ved System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
ved System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
ved System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage)
ved System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm)
ved System.Web.Mvc.ViewPage.RenderView(ViewContext viewContext)
ved System.Web.Mvc.ViewUserControl.RenderViewAndRestoreContentType(ViewPage containerPage, ViewContext viewContext)
ved System.Web.Mvc.ViewUserControl.RenderView(ViewContext viewContext)
ved System.Web.Mvc.Html.TemplateHelpers.ExecuteTemplate(HtmlHelper html, ViewDataDictionary viewData, String templateName, DataBoundControlMode mode, GetViewNamesDelegate getViewNames, GetDefaultActionsDelegate getDefaultActions)
ved System.Web.Mvc.Html.TemplateHelpers.TemplateHelper(HtmlHelper html, ModelMetadata metadata, String htmlFieldName, String templateName, DataBoundControlMode mode, Object additionalViewData, ExecuteTemplateDelegate executeTemplate)
ved System.Web.Mvc.Html.TemplateHelpers.TemplateHelper(HtmlHelper html, ModelMetadata metadata, String htmlFieldName, String templateName, DataBoundControlMode mode, Object additionalViewData)
ved System.Web.Mvc.Html.TemplateHelpers.TemplateFor[TContainer,TValue](HtmlHelper`1 html, Expression`1 expression, String templateName, String htmlFieldName, DataBoundControlMode mode, Object additionalViewData)
ved System.Web.Mvc.Html.DisplayExtensions.DisplayFor[TModel,TValue](HtmlHelper`1 html, Expression`1 expression)
ved EPiServer.Web.Mvc.Html.PropertyRenderer.<>c__DisplayClass11_0`2.b__0(StringWriter writer)
ved EPiServer.Web.Mvc.Html.PropertyRenderer.CreateMvcHtmlString(Action`1 action)
ved EPiServer.Web.Mvc.Html.PropertyRenderer.PropertyFor[TModel,TValue](HtmlHelper`1 html, String viewModelPropertyName, Object additionalViewData, Object editorSettings, Expression`1 expression, Func`2 displayForAction)
ved EPiServer.Web.Mvc.Html.PropertyExtensions.PropertyFor[TModel,TValue](HtmlHelper`1 html, Expression`1 expression)
ved ASP._Page_Views_ArticlePage_Index_cshtml.Execute() i e:\Visual Studio Projects\NEYE\Website\src\AlphaSolutions.Neye.Website\Views\ArticlePage\Index.cshtml:linje 12
ved System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
ved System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
ved System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
ved System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
ved System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
ved System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
ved System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
ved System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
ved System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
ved System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
ved System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
ved System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
ved System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.b__1e(IAsyncResult asyncResult)
ved System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
ved System.Web.Mvc.Controller.b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState)
ved System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
ved System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
ved System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
ved System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
ved System.Web.Mvc.MvcHandler.b__5(IAsyncResult asyncResult, ProcessRequestState innerState)
ved System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
ved System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
ved System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
ved System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

#184726
Nov 02, 2017 14:35
Vote:
 

Can you use SQL Profiler to catch the actual database call and rerun it to see what it loads from the database?

#184780
Nov 03, 2017 12:50
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.