Subsonic 亚音速+寻呼问题
我正在尝试使用亚音速进行服务器端分页。使用.Paged函数效果很好。顺便说一句,指向网络广播的链接似乎已断开。但是,如果没有.Paged函数,我如何计算查询中的记录总数,即我是否需要对首先返回完整结果的查询运行recordcount?如果是,那么它有点违背了服务器端分页的目的 e、 g SQLQuery q=Select.Allfromcolumns.Paged1,10将仅返回10条记录。但是,我需要先知道产品的记录总数才能确定我的页面链接 对于一个简单的表,不需要服务器端分页,但是我的查询非常复杂,我主要需要使用分页功能来提高性能Subsonic 亚音速+寻呼问题,subsonic,Subsonic,我正在尝试使用亚音速进行服务器端分页。使用.Paged函数效果很好。顺便说一句,指向网络广播的链接似乎已断开。但是,如果没有.Paged函数,我如何计算查询中的记录总数,即我是否需要对首先返回完整结果的查询运行recordcount?如果是,那么它有点违背了服务器端分页的目的 e、 g SQLQuery q=Select.Allfromcolumns.Paged1,10将仅返回10条记录。但是,我需要先知道产品的记录总数才能确定我的页面链接 对于一个简单的表,不需要服务器端分页,但是我的查询非常
感谢以下内容将返回将返回的记录总数计数,以便您可以构建查询,然后调用GetRecordCount查找将返回的记录数,然后调用Paged1,10返回第一页:
SqlQuery query = Select.AllColumnsFrom<Product>();
int numberOfRecords = query.GetRecordCount();
List<Product> products = query.Paged(1, 10).ExecuteTypedList<Product>();
下面将返回将返回的记录总数的计数,以便您可以构建查询,然后对其调用GetRecordCount以查找将返回的记录数,然后调用Paged1,10以返回第一页:
SqlQuery query = Select.AllColumnsFrom<Product>();
int numberOfRecords = query.GetRecordCount();
List<Product> products = query.Paged(1, 10).ExecuteTypedList<Product>();
我想指出的是,通常当有人进行服务器端分页时,他们会运行一个返回所有行的查询。它们对行记录计数进行计数,然后获取向用户显示所需的行,并显示具有大量开销和处理的子集。使用Adam发布的查询,如果在第一个请求中缓存numberofRecords,然后在随后的每个请求中只执行分页查询,只从数据库中返回所需的行,那么您将节省大量开销。我想指出,通常当有人执行服务器端分页时它们运行一个返回所有行的查询。它们对行记录计数进行计数,然后获取向用户显示所需的行,并显示具有大量开销和处理的子集。使用Adam发布的查询,如果在第一个请求中缓存numberofRecords,然后在随后的每个请求中只执行分页查询,只从数据库中返回所需的行,那么您将节省大量开销。Yes,但是,进行服务器端分页的全部原因是我不想查询数据库两次,如果我先进行记录计数,然后再进行分页,就会发生这种情况。记录计数进行选择计数,否则在不查询数据库的情况下,您还想知道数据库中有多少记录吗?是的,但是进行服务器端分页的全部原因是我不想查询数据库两次,如果我先进行记录计数,然后再进行分页,就会发生这种情况。记录计数进行选择计数,在不查询数据库的情况下,您还想知道数据库中有多少条记录?谢谢你们两人的回复谢谢你们两人的回复
SqlQuery query = Select.AllColumnsFrom<Product>();
if(IsfirstCall){//Set firstCall = false on all subsequent calls to the method
int numberOfRecords = query.GetRecordCount(); }
List<Product> products = query.Paged(1, 10).ExecuteTypedList<Product>();