Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/160.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Subsonic 亚音速+寻呼问题_Subsonic - Fatal编程技术网

Subsonic 亚音速+寻呼问题

Subsonic 亚音速+寻呼问题,subsonic,Subsonic,我正在尝试使用亚音速进行服务器端分页。使用.Paged函数效果很好。顺便说一句,指向网络广播的链接似乎已断开。但是,如果没有.Paged函数,我如何计算查询中的记录总数,即我是否需要对首先返回完整结果的查询运行recordcount?如果是,那么它有点违背了服务器端分页的目的 e、 g SQLQuery q=Select.Allfromcolumns.Paged1,10将仅返回10条记录。但是,我需要先知道产品的记录总数才能确定我的页面链接 对于一个简单的表,不需要服务器端分页,但是我的查询非常

我正在尝试使用亚音速进行服务器端分页。使用.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>();