Smartstore
Smartstore copied to clipboard
Product recycle bin mysql error
When viewing the product recycle bin i get these errors:
Failed executing DbCommand ("3"ms) [Parameters=[""], CommandType='Text', CommandTimeout='30']"
""SELECT `p`.`Id`, (
SELECT COUNT(*)
FROM (
SELECT DISTINCT `o`.`Id`
FROM `Order` AS `o`
WHERE EXISTS (
SELECT 1
FROM `OrderItem` AS `o0`
WHERE (`o`.`Id` = `o0`.`OrderId`) AND (`o0`.`ProductId` = `p`.`Id`))
) AS `t`) AS `Count`
FROM `Product` AS `p`
WHERE `p`.`Id` IN (2278, 2322, 2326, 2332, 2345, 2373, 2427, 2444, 2447, 2451, 2454, 2456, 2483, 2520, 2521, 2522, 2539, 2558, 2572, 2575, 2590, 2607, 2610, 2613, 2619)"
An exception occurred while iterating over the results of a query for context type '"Smartstore.Core.Data.SmartDbContext"'."
""MySqlConnector.MySqlException (0x80004005): Unknown column 'p.Id' in 'where clause'
at MySqlConnector.Core.ServerSession.ReceiveReplyAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ServerSession.cs:line 885
at MySqlConnector.Core.ResultSet.ReadResultSetHeaderAsync(IOBehavior ioBehavior) in /_/src/MySqlConnector/Core/ResultSet.cs:line 37
at MySqlConnector.MySqlDataReader.ActivateResultSet(CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlDataReader.cs:line 130
at MySqlConnector.MySqlDataReader.InitAsync(CommandListPosition commandListPosition, ICommandPayloadCreator payloadCreator, IDictionary`2 cachedProcedures, IMySqlCommand command, CommandBehavior behavior, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlDataReader.cs:line 482
at MySqlConnector.Core.CommandExecutor.ExecuteReaderAsync(CommandListPosition commandListPosition, ICommandPayloadCreator payloadCreator, CommandBehavior behavior, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/CommandExecutor.cs:line 56
at MySqlConnector.MySqlCommand.ExecuteReaderAsync(CommandBehavior behavior, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlCommand.cs:line 357
at MySqlConnector.MySqlCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlCommand.cs:line 350
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.InitializeReaderAsync(AsyncEnumerator enumerator, CancellationToken cancellationToken)
at Pomelo.EntityFrameworkCore.MySql.Storage.Internal.MySqlExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()"
and
MySqlConnector.MySqlException (0x80004005): Unknown column 'p.Id' in 'where clause'
at MySqlConnector.Core.ServerSession.ReceiveReplyAsync(IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/ServerSession.cs:line 885
at MySqlConnector.Core.ResultSet.ReadResultSetHeaderAsync(IOBehavior ioBehavior) in /_/src/MySqlConnector/Core/ResultSet.cs:line 37
at MySqlConnector.MySqlDataReader.ActivateResultSet(CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlDataReader.cs:line 130
at MySqlConnector.MySqlDataReader.InitAsync(CommandListPosition commandListPosition, ICommandPayloadCreator payloadCreator, IDictionary`2 cachedProcedures, IMySqlCommand command, CommandBehavior behavior, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlDataReader.cs:line 482
at MySqlConnector.Core.CommandExecutor.ExecuteReaderAsync(CommandListPosition commandListPosition, ICommandPayloadCreator payloadCreator, CommandBehavior behavior, Activity activity, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/Core/CommandExecutor.cs:line 56
at MySqlConnector.MySqlCommand.ExecuteReaderAsync(CommandBehavior behavior, IOBehavior ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlCommand.cs:line 357
at MySqlConnector.MySqlCommand.ExecuteDbDataReaderAsync(CommandBehavior behavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlCommand.cs:line 350
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReaderAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.InitializeReaderAsync(AsyncEnumerator enumerator, CancellationToken cancellationToken)
at Pomelo.EntityFrameworkCore.MySql.Storage.Internal.MySqlExecutionStrategy.ExecuteAsync[TState,TResult](TState state, Func`4 operation, Func`4 verifySucceeded, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.SingleQueryingEnumerable`1.AsyncEnumerator.MoveNextAsync()
at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToDictionaryAsync[TSource,TKey,TElement](IQueryable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.EntityFrameworkQueryableExtensions.ToDictionaryAsync[TSource,TKey,TElement](IQueryable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer, CancellationToken cancellationToken)
at Smartstore.Admin.Controllers.ProductController.DeletedProductsList(GridCommand command, ProductListModel model) in F:\TEMPSMS\src\Smartstore.Web\Areas\Admin\Controllers\ProductController.RecycleBin.cs:line 38
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfIActionResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Logged|12_1(ControllerActionInvoker invoker)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
at Smartstore.Core.Bootstrapping.CheckoutBootstrappingExtensions.<>c.<<UseCheckoutState>b__0_0>d.MoveNext() in F:\TEMPSMS\src\Smartstore.Core\Checkout\Bootstrapping\CheckoutBootstrappingExtensions.cs:line 22
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
at StackExchange.Profiling.MiniProfilerMiddleware.Invoke(HttpContext context) in C:\projects\dotnet\src\MiniProfiler.AspNetCore\MiniProfilerMiddleware.cs:line 112
at Smartstore.Web.Api.Startup.<>c.<<BuildPipeline>b__3_7>d.MoveNext()
--- End of stack trace from previous location ---
at Smartstore.ExceptionExtensions.ReThrow(Exception exception) in F:\TEMPSMS\src\Smartstore\Extensions\ExceptionExtensions.cs:line 15
at Smartstore.Web.Api.Startup.ProcessException(HttpContext context, Exception ex)
at Smartstore.Web.Api.Startup.<>c.<<BuildPipeline>b__3_7>d.MoveNext()
--- End of stack trace from previous location ---
at Smartstore.Core.Localization.RequestCultureMiddleware.Invoke(HttpContext context, IWorkContext workContext) in F:\TEMPSMS\src\Smartstore.Core\Platform\Localization\Services\RequestCultureMiddleware.cs:line 72
at Smartstore.Core.Logging.RequestLoggingMiddleware.InvokeAsync(HttpContext httpContext, IWebHelper webHelper, IWorkContext workContext) in F:\TEMPSMS\src\Smartstore.Core\Platform\Logging\Serilog\RequestLoggingMiddleware.cs:line 57
at Smartstore.Core.Bootstrapping.CommonBuilderExtensions.<>c.<<UseWorkContext>b__1_0>d.MoveNext() in F:\TEMPSMS\src\Smartstore.Core\Platform\Common\Bootstrapping\CommonBuilderExtensions.cs:line 35
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Smartstore.Core.Bootstrapping.LocalizationBuilderExtensions.OnAfterRouting(HttpContext context, Func`1 next) in F:\TEMPSMS\src\Smartstore.Core\Platform\Localization\Bootstrapping\LocalizationBuilderExtensions.cs:line 117
at Smartstore.Core.Bootstrapping.LocalizationBuilderExtensions.OnBeforeRouting(HttpContext context, Func`1 next) in F:\TEMPSMS\src\Smartstore.Core\Platform\Localization\Bootstrapping\LocalizationBuilderExtensions.cs:line 81
at Microsoft.AspNetCore.OData.Batch.ODataBatchMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.OData.Query.ODataQueryRequestMiddleware.Invoke(HttpContext context)
at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
at Smartstore.Core.Bootstrapping.CommonBuilderExtensions.<>c.<<UseSecurityHeaders>b__3_0>d.MoveNext() in F:\TEMPSMS\src\Smartstore.Core\Platform\Common\Bootstrapping\CommonBuilderExtensions.cs:line 60
--- End of stack trace from previous location ---
at Smartstore.Core.Bootstrapping.CommonBuilderExtensions.<>c.<<UsePoweredBy>b__2_0>d.MoveNext() in F:\TEMPSMS\src\Smartstore.Core\Platform\Common\Bootstrapping\CommonBuilderExtensions.cs:line 48
--- End of stack trace from previous location ---
at Smartstore.Engine.Initialization.ApplicationInitializerMiddleware.Invoke(HttpContext context) in F:\TEMPSMS\src\Smartstore\Engine\Initialization\ApplicationInitializerMiddleware.cs:line 81
at Microsoft.AspNetCore.Diagnostics.StatusCodePagesMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.<Invoke>g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)
I tried to run the sql query in my sql client and it seems that the inner query is the culprit. Though the bug most likely is inside Pomelo's EFCore adapter.