gpt4 book ai didi

c# - Dynamics CRM - 如何处理 .Net 中的 odata.nextlink 响应

转载 作者:行者123 更新时间:2023-11-30 17:38:19 25 4
gpt4 key购买 nike

我有以下代码从 Dynamics CRM 检索交易(使用 OData 查询):

    public async Task<IEnumerable<Transaccion>> GetTransactions()
{
var tableName = Transaccion.CrmTableName;

var request = new RestRequest($"/api/data/v8.0/{tableName}");
request.AddHeader("Prefer", "odata.maxpagesize=500");
var responseData = await client.ExecuteGetTaskAsync<ODataResponse<List<Transaccion>>>(request);
var transactions = responseData.Data.Value;

while (responseData.Data.NextLink != null)
{
request = new RestRequest(responseData.Data.NextLink);
request.AddHeader("Prefer", "odata.maxpagesize=500");
responseData = await client.ExecuteGetTaskAsync<ODataResponse<List<Transaccion>>>(request);
transactions.AddRange(responseData.Data.Value);
}

return transactions;
}

一旦我执行了第一个“ExecuteGetTaskAsync”,我就得到了我的例子,正如预期的那样,一个 NextLink 属性指向我需要检索的下一组实体。但是,当我尝试执行下一个 RestRequest 时,我没有得到一个 JSON 作为响应,而是一个对应于重定向的 Html 页面,我可以在其中读取错误消息“”。

这很奇怪,因为 Restclient 已正确验证,所以第一次调用可以正确进行。

这是怎么回事?如何在 .Net 中使用 Dynamics CRM 进行分页并使用 NextLink?

最佳答案

在我的例子中,@odata.nextLink 中的 URL 有错误。

情况如何:

http://[Organization URI]/api/data/v8.2/[entity]/(68e95f08-d372-e711-966b-defe0719ce9e)/[relation entity]?$select=ne_name

那没有用,但是这个确实:

http://[Organization URI]/api/data/v8.2/[entity](68e95f08-d372-e711-966b-defe0719ce9e)/[relation entity]?$select=ne_name

[entity] 和 (id) 之间没有“/”

关于c# - Dynamics CRM - 如何处理 .Net 中的 odata.nextlink 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36794263/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com