2
我想在Ext.js網格中實現自定義分頁,我需要根據頁面大小獲取我的表和記錄的總記錄。我正在使用一個已編譯的查詢。獲取總記錄數和自定義沒有記錄在一個數據庫中點擊
但我只想給一個數據庫命中。
List<MyTable> .GetRecordsById(Int32 ID, Int32 start, Int32 limit)
{
return CompliedGetRecordsById_CustomPaging(_dbNavigation, ID, start, limit).ToList();
}
/// <summary>
/// Complied query for retrieving manage tasks Custom Paging
/// </summary>
public static readonly Func<SomeEntities, Int32,Int32, Int32, IQueryable<MyTable>> CompliedGetTaskByProjectId_CustomPaging =
CompiledQuery.Compile<SomeEntities, Int32, Int32, Int32, IQueryable<MyTable>>((dbNavigation, ID, start, limit) =>
dbNavigation.SiteTasksMappings.Include("TaskMaster")
.Where(x=> x.myTableID == ID && x.STMIsActive == 1).OrderBy(x=>x.STMID).Skip(start).Take(limit));
這隻只會根據參數給出記錄, 我想從這裏
感謝您的回覆,我已經嘗試參考此答案(http://stackoverflow.com/questions/7767409/better-way-to-query-a-page-of-data-and-get-total -count-in-entity-framework-4-1),因爲我沒有SQL分析器,雖然我無法驗證它,但它只給出一個命中 – Rex
@Rex好了,看看查詢優化器用查詢以及它的執行情況......無論如何,我的觀點是你應該在這種情況下使用views。如果您正在使用子選擇或分組,現在就由您決定。關鍵是數據庫(甚至你)可以在早期狀態下優化查詢。您的查詢在某些時候對數據庫來說總是新的 – sra