Hi, we've setup the production env for a new client this week and we're getting this exception when saving products. Any ideas what could be the cause? This is setup the same way as the test environment (same SQL Server, same .NET version) where this exception isn't happening.. EcomProductCategoryFieldValue does have a composite PK and I didn't find anything wrong with the sql login so I dunno, any help would be appreciated. DW Version is 10.19.6+a133ac78a48adf2e331a77b81a348a1f9b911f71
2025-10-03 16:09:47.8250: Management API request failed. Trace ID: 00-faec4f3afa605089d99b01cd9d3a64ab-d00bb4957cb04cd2-00. System.InvalidOperationException: Dynamic SQL generation is not supported against a SelectCommand that does not return any base table information.
at System.Data.Common.DbCommandBuilder.BuildCache(Boolean closeConnection, Boolean useColumnsForParameterNames)
at System.Data.Common.DbCommandBuilder.GetInsertCommand(DataRow dataRow, Boolean useColumnsForParameterNames)
at Dynamicweb.Data.DatabaseProvider.PrepareAdapter(IDbDataAdapter adapter)
at Dynamicweb.Data.Database.CreatePreparedAdapter(IDbCommand command, Boolean tryFillIdentity)
at Dynamicweb.Data.Database.CreatePreparedAdapter(CommandBuilder commandBuilder, IDbConnection connection, IDbTransaction transaction, Boolean tryFillIdentity)
at Dynamicweb.Data.Database.CreatePreparedAdapter(CommandBuilder commandBuilder, IDbConnection connection, IDbTransaction transaction)
at Dynamicweb.Ecommerce.ProductCategoryFieldValueRepository.SaveProductValues(ProductKey productKey, Dictionary`2 productValues, Boolean deleteExistingValues)
at Dynamicweb.Ecommerce.Products.Categories.ProductCategoryFieldValueService.SaveProductValues(ProductKey productKey, Dictionary`2 productValues, Boolean deleteExistingValues)
at Dynamicweb.Ecommerce.Products.ProductService.SaveAndConfirmInternal(Product product, String productId, String productVariantId, String productLanguageId, Boolean skipExtendedSave, Product productPrevState)
at Dynamicweb.Ecommerce.Products.ProductService.SaveAndConfirm(Product product, String productId, String productVariantId, String productLanguageId, Boolean skipExtendedSave)
at Dynamicweb.Ecommerce.Products.ProductService.SaveAndConfirm(Product product, String productId, String productVariantId, String productLanguageId)
at Dynamicweb.Products.UI.Commands.ProductSaveCommand.Handle()
at Dynamicweb.Management.Api.Controllers.Api.DataController.GetCommandResult(Type commandType, Type queryType, String body)
at Dynamicweb.Management.Api.Controllers.Api.DataController.Post(String command, Object body)
at lambda_method148(Closure, Object)
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.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.g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.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.g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)
2025-10-03 16:09:47.8276: Request headers: [
"Accept",
"Accept-Encoding",
"Accept-Language",
"Authorization",
"Connection",
"Content-Length",
"Content-Type",
"Cookie",
"Host",
"Referer",
"TE",
"User-Agent",
"origin",
"sec-fetch-dest",
"sec-fetch-mode",
"sec-fetch-site",
"priority"
]
2025-10-03 16:09:47.8278: Request item keys: [
"DW_Current_ExecutionTable"
]
2025-10-03 16:09:47.8279: Request form: []