我必須寫的代碼爲以下方法:在哪裏做分頁/過濾?在數據庫或代碼中?
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#中這樣做意味着我必須加載整個產品列表,這也是不好的...
任何想法這裏最好的選擇是什麼?我錯過了一個選項嗎?