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