nopCommerce の ProductService クラスには、すべての製品を含む IList を返すメソッド GetAllProducts があります。
代わりに 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 インターフェイスを介してこれを行う方法がわかりません。
このようなことを行う簡単な方法はありますか?