首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sharepoint问题ListData.svc $expand最高允许为7

Sharepoint问题ListData.svc $expand最高允许为7
EN

Stack Overflow用户
提问于 2015-05-09 02:09:40
回答 1查看 719关注 0票数 0

我正在尝试以下查询:

代码语言:javascript
复制
http://contoso/_vti_bin/listdata.svc/Product()?$expand=OrderDetail/Category,Repository/Country,Repository,Origin,OrderDetail/Order&$select=Id,OrderDetail/Category/Title,Repository/Country/Title,Repository/Title,Origin/Title,OrderDetail/Category/Specification,OrderDetail/Order/ImportDate

我收到消息:

The request includes 8 $expand segment(s), but the maximum allowed is 7

这是不可能的,还是有其他的方法来实现这一点?

提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2015-05-11 21:27:31

误差

请求包括8个$expand段,但允许的最大值为7。

,因为使用$expand运算符LINQ到SharePoint提供程序可以包含在单个请求中的相关实体的最大数量设置为7

关于DataServiceConfiguration

绕过这种限制的一个选择是扩展SharePoint REST服务并增加DataServiceConfiguration.MaxExpandCount

实现

ContosoListData.svc:

代码语言:javascript
复制
<%@ServiceHost language="C#" Factory="Microsoft.SharePoint.Client.Services.MultipleBaseAddressDataServiceHostFactory, Microsoft.SharePoint.Client.ServerRuntime, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" Service="Contoso.SharePoint.Linq.ContosoListDataService, Contoso.SharePoint.Linq.DataService, Version=1.0.0.0, Culture=neutral, PublicKeyToken=47134954c7026996" %>

ContosoListDataService.cs:

代码语言:javascript
复制
using Microsoft.SharePoint.Linq;
using System;
using System.Data.Services;
using System.Data.Services.Common;

namespace Contoso.SharePoint.Linq
{
    public class ContosoListDataService : ListDataService
    {
        public new static void InitializeService(DataServiceConfiguration config)
        {
            if (config == null)
                throw new ArgumentNullException("config");
            config.SetEntitySetAccessRule("*", EntitySetRights.All);
            config.SetServiceOperationAccessRule("*", ServiceOperationRights.AllRead);
            config.SetEntitySetPageSize("*", 1000);
            config.MaxBatchCount = 1000;
            config.MaxChangesetCount = 100;
            config.MaxExpandCount = 14;  //<-- set custom 
            config.MaxExpandDepth = 7;
            config.MaxObjectCountOnInsert = 100;
            config.DataServiceBehavior.MaxProtocolVersion = DataServiceProtocolVersion.V2;
            config.UseVerboseErrors = true;
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30135198

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档