Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.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
C# Petapoco分页sql视图一对多_C#_Sql_One To Many_Petapoco - Fatal编程技术网

C# Petapoco分页sql视图一对多

C# Petapoco分页sql视图一对多,c#,sql,one-to-many,petapoco,C#,Sql,One To Many,Petapoco,我正在尝试通过分页为我的搜索结果创建搜索页面 问题: 我有一个表X。这个表在我的视图(sql)中有20个一对多表关系。对于我的表中的一行,X在我的视图(sql)中等于200,有时等于100,50行。我需要一行的所有这些结果 最后: 正如我所说的,X表1行可以包含50行或5行或200行作为搜索结果 我使用的是asp.net,我的数据库是SQL 2014。我使用的是petapoco(orm) 我不知道一对多视图分页。您有什么建议可以解决我的问题。PetaPoco分页方法有一个重载,您可以为selec

我正在尝试通过分页为我的搜索结果创建搜索页面

问题: 我有一个表X。这个表在我的视图(sql)中有20个一对多表关系。对于我的表中的一行,X在我的视图(sql)中等于200,有时等于100,50行。我需要一行的所有这些结果

最后: 正如我所说的,X表1行可以包含50行或5行或200行作为搜索结果

我使用的是asp.net,我的数据库是SQL 2014。我使用的是petapoco(orm)


我不知道一对多视图分页。您有什么建议可以解决我的问题。

PetaPoco分页方法有一个重载,您可以为select和paging
页面提供查询(long Page、long itemsPerPage、Sql sqlCount、Sql sqlPage)。这允许您进行自定义分页

PetaPoco中的分页本质上是一个计算记录总数的查询和一个提取当前页面的查询。如果您想自己滚动,可以使用
T ExecuteScalar
列表获取


要正确分页,需要查询连接子表的父表并应用顺序。一旦你有了它,你就可以翻页了。但是,对于您加入的每个子级,父行/信息将重复。如果您还没有,我建议您使用一种方法,只需选择并分页子行。因此,如果这是一个UI,用户可以选择父记录,然后您应该显示一个子记录列表。这样做可以降低查询逻辑的复杂性。

PetaPoco分页方法有一个重载,您可以为select和paging
页面(long Page、long itemsPerPage、Sql sqlCount、Sql sqlPage)提供查询。这允许您进行自定义分页

PetaPoco中的分页本质上是一个计算记录总数的查询和一个提取当前页面的查询。如果您想自己滚动,可以使用
T ExecuteScalar
列表获取

要正确分页,需要查询连接子表的父表并应用顺序。一旦你有了它,你就可以翻页了。但是,对于您加入的每个子级,父行/信息将重复。如果您还没有,我建议您使用一种方法,只需选择并分页子行。因此,如果这是一个UI,用户可以选择父记录,然后您应该显示一个子记录列表。这样做可以降低查询逻辑的复杂性。

我正在对表或内部联接视图使用Page方法。但对于一对多的观点来说,这是行不通的。因为我需要在一对多视图中为我的X表行分页。如果我说GetPerPage 50项,那么我的X表1行连接结果计数可能是100行。因此,我将只得到1个父X表行。但是我想要50个父X表行从一个视图到多个视图。如果您不明白我是否可以再次正确判断,请告诉我。我正在对表或内部联接视图使用Page方法。但对于一对多的观点来说,这是行不通的。因为我需要在一对多视图中为我的X表行分页。如果我说GetPerPage 50项,那么我的X表1行连接结果计数可能是100行。因此,我将只得到1个父X表行。但是我想要50个父X表行从一个视图到多个视图。请告诉我,如果你不明白我是否可以正确地告诉你。