I'm working on a feed inspired of the template from the Swift example Templates/Feeds/Dynamicweb CSV.cshtml with @inherits ViewModelTemplate<ProductListViewModel>.
When there is any values for product.ProductCategories.Values.Any() I get a timeout System.Data.SqlClient.SqlException:
"Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding."
For instance this would throw that exception:
var productCategories = Model.Products.Where(product => product.ProductCategories != null && product.ProductCategories.Values.Any()).Select(products => products.ProductCategories.Values).FirstOrDefault();
Even a single usage on a single product causes a timeout which would seem to be something that would not take long:
var values = knownProductWithProductCategories.ProductCategories.Values;
I've been trying to do a workaround using services and managed to get the product categories and fields that way without any performance issues or timeouts using the following methods.
Dynamicweb.Ecommerce.Services.Products.GetProductByNumber
Dynamicweb.Ecommerce.Services.ProductCategories.GetCategories
Dynamicweb.Ecommerce.Services.ProductCategoryFields.GetFieldsByCategoryId
There is also a service for values:
Dynamicweb.Ecommerce.Services.ProductCategoryFieldValueService
But there are no useful public methods on that which makes this a dead end.
Has anyone encountered anything similar and is there some kind of known workaround for this?
Is there any way to increase the timeout peroiod?