다음을 통해 공유


LINQL를 사용하여 대형 결과 집합 페이징

 

게시 날짜: 2016년 11월

적용 대상: Dynamics CRM 2015

Microsoft Dynamics CRM 2015 및 Microsoft Dynamics CRM Online 2015 업데이트에서 TakeSkip 연산자를 사용하여 큰 .NET LINQ(Language-Integrated Query) 쿼리 결과를 페이징할 수 있습니다.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 쿼리 예제

© 2017 Microsoft. All rights reserved. 저작권 정보