我已经用谷歌搜索了这个,所以任何帮助都将受到大力赞赏 .

在C#附近待了一段时间,对OData来说是新手 .

尝试通过OData源访问我的应用程序中的sharepoint站点数据 . 我可以成功获取ProjectServer数据,但是当我尝试访问sharepoint列表时,它并没有那么顺利 .

C#代码

ODataFeedAnnotations annotation = new ODataFeedAnnotations();
            var dataRaw = await context.FindEntriesAsync(query, annotation);
            List<IDictionary<string, object>> dataListRaw = dataRaw.ToList();
            List<SourceData> sourceData = new List<SourceData>();
            while (annotation.NextPageLink != null)
            {
                dataRaw = await context.FindEntriesAsync(annotation.NextPageLink.ToString(), annotation);
                dataListRaw.AddRange(dataRaw);
            }
            foreach (var item in dataListRaw)
            {
                sourceData.Add(ConvertDictionary(item));
            }
            return sourceData;

查询:

http:// csgdev5 / PWA / A1 / _api / lists / getbytitle('Risks')/ items?$ select = ID,Status,Category,DueDate,作者/ Headers ,AssignedTo / Title&$ expand =作者/ Headers ,AssignedTo / Headers

错误:

模型无法解析名为“SP.Data.RisksListItem”的类型 . 当模型可用时,每个类型名称必须解析为有效类型 .

我知道我可以通过查询获得ListEntity的FullName

https:/// _ api / web / lists / getbytitle('')?$ select = ListItemEntityTypeFullName

但我不知道如何处理这条信息,或者我如何在查询中包含它以使其有效 .

任何帮助将非常感激 .