使用 LINQ 对大型结果集进行分页

 

发布日期: 2017年1月

适用于: Dynamics 365 (online),Dynamics 365 (on-premises),Dynamics CRM 2016,Dynamics CRM Online

在 Microsoft Dynamics 365(在线或本地) 中,您可以使用 TakeSkip 运算符对大型 .NET 语言集成查询 (LINQ) 查询的结果进行分页。Take 运算符会检索指定数量的结果,而 Skip 运算符会跳过指定数量的结果。

LINQ 分页示例

以下示例说明了如何使用 TakeSkip 运算符对 LINQ 的查询结果进行分页:


int pageSize = 5;

var accountsByPage = (from a in svcContext.AccountSet
                      select new Account
                      {
                       Name = a.Name,
                      });
System.Console.WriteLine("Skip 10 accounts, then Take 5 accounts");
System.Console.WriteLine("======================================");
foreach (var a in accountsByPage.Skip(2 * pageSize).Take(pageSize))
{
 System.Console.WriteLine(a.Name);
}

' Retrieve records with Skip/Take record paging. Setting a page size
' can help you manage your Skip and Take calls, since Skip must be
' passed a multiple of Take's parameter value.
Dim pageSize As Integer = 5

Dim accountsByPage = ( _
    From a In svcContext.CreateQuery(Of Account)() _
    Select New Account With {.Name = a.Name})
Console.WriteLine("Skip 10 accounts, then Take 5 accounts")
Console.WriteLine("======================================")
For Each a In accountsByPage.Skip(2 * pageSize).Take(pageSize)
    Console.WriteLine(a.Name)
Next a
Console.WriteLine()
Console.WriteLine("<End of Listing>")
Console.WriteLine()

另请参阅

使用 LINQ(.NET 语言集成查询)构建查询
LINQ 查询示例

Microsoft Dynamics 365

© 2017 Microsoft。 保留所有权利。 版权