我必须写的代码为以下方法:在哪里做分页/过滤?在数据库或代码中?
public IEnumerable<Product> GetProducts(int pageNumber, int pageSize, string sortKey, string sortDirection, string locale, string filterKey, string filterValue)
的方法,将由web UI被使用并且必须支持分页,排序和过滤。数据库(SQL Server 2008)拥有约250,000个产品。我的问题如下:我在哪里实现分页,排序和过滤逻辑?我应该在T-SQL存储过程还是C#代码中执行?
我认为如果我在T-SQL中执行它会更好,但最终会出现一个非常复杂的查询。另一方面,在C#中这样做意味着我必须加载整个产品列表,这也是不好的...
任何想法这里最好的选择是什么?我错过了一个选项吗?