WCF数据服务 - 如何以编程方式设置页面大小?

时间:2011-11-16 04:13:56

标签: wcf-data-services odata

我使用托管在服务器上的WCF数据服务(v2)进行OData服务设置。在我们正在创建的客户端应用程序中,我们想知道我们是否可以通过编程方式设置分页大小?

例如,如果我在.svc中设置它,则可以正常工作:

public static void InitializeService(ODataServiceConfiguration serviceConfig)
{
    serviceConfig.SetServiceOperationAccessRule("*", ServiceOperationRights.All);
    serviceConfig.SetEntitySetAccessRule("*", EntitySetRights.All);
    // *** I would like to set the following in my client code
    serviceConfig.SetEntitySetPageSize("Employees", 100);
    ...

任何建议都将受到赞赏。

1 个答案:

答案 0 :(得分:3)

服务器分页仅在服务器上定义,但您可以使用TakeSkip方法直接在查询中进行客户端分页。

var data = (from e in context.Entities
            select e).Skip(200).Take(100);

此示例将跳过结果集中的200个实体并将实体201返回到300.如果每页有100个实体,则类似于选择第三页。