Eseguire il paging dei set di risultati di grandi dimensioni con LINQ

 

Data di pubblicazione: gennaio 2017

Si applica a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

In Microsoft Dynamics 365 (online e locale) è possibile eseguire il paging dei risultati di un query di .NET Language Integrated Query (LINQ) di grandi dimensioni utilizzando gli operatori Skip e Take. L'operatore Take recupera un determinato numero di risultati e l'operatore Skip salta un determinato numero di risultati.

Esempio di paging in LINQ

Nell'esempio seguente viene illustrato come eseguire il paging dei risultati di una query LINQ con gli operatori Skip e Take :


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()

Vedere anche

Creare query con LINQ (.NET language-integrated query)
Esempi di query LINQ

Microsoft Dynamics 365

© 2017 Microsoft. Tutti i diritti sono riservati. Copyright