nopCommerce中的ProductService类有一个方法GetAllProducts,它返回包含所有产品的IList。
返回IQueryable会不会更有意义?这样我可以自己进一步过滤查询。
见下面的代码 -
public virtual IList<Product> GetAllProducts(bool showHidden = false)
{
var query = from p in _productRepository.Table
orderby p.Name
where (showHidden || p.Published) &&
!p.Deleted
select p;
var products = query.ToList();
return products;
}
为什么在IQueryable完全足够的情况下将其转换为列表?我无法理解这背后的理由。
鉴于这种特殊限制,有没有办法在不修改Nop.Services代码的情况下解决这个问题?
例如,我想运行查询以获取过去5天内创建的所有产品。我认为无法通过IProductService接口执行此操作。
有没有一种简单的方法可以做这样的事情?
答案 0 :(得分:0)
这是可能的。
示例:
var products = _productService.GetAllProducts().Where(p => p.CreatedOnUtc > DateTime.UtcNow.AddDays(-5));