【问题标题】:Is there a way to use join with OData in Dynamics CRM API?有没有办法在 Dynamics CRM API 中使用加入 OData?
【发布时间】:2020-04-10 18:24:42
【问题描述】:

有没有办法将此代码转换为 CRM Dynamics API 请求?

var t = (from contact in lServiceContext.CreateQuery("contact")
             join account in lServiceContext.CreateQuery("account") on contact["parentcustomerid"] equals account["accountid"]
             where contact[key].Equals(value) && contact["statuscode"].Equals(1)
             select new
             {
                 AccountID = !account.Contains("accountid") ? string.Empty : account["accountid"],
                 AccountNumber = !account.Contains("accountnumber") ? string.Empty : account["accountnumber"],
                 AccountR3 = !account.Contains("new_r3number") ? string.Empty : account["new_r3number"]
             });

好吧,我读了这个docs,但我不太明白它是如何工作的。

这个想法是向邮递员提出请求。

【问题讨论】:

    标签: c# rest api dynamics-crm postman


    【解决方案1】:

    我相信这样的事情应该可以解决问题:

    https://myOrg.crm.dynamics.com/api/data/v9.1/contacts?$select=contactid,fullname,_parentcustomerid_value&$expand=parentcustomerid_account($select=accountid,accountnumber,name,new_r3number)

    在这种情况下,您似乎可以使用 OData 查询,但如果您遇到了 WebAPI 的 OData 限制,您可以submit a FetchXML query

    在构建 WebAPI 查询时,Jason Lattimer's REST Builder 是必不可少的。

    而且,在您的原始代码中,可能值得考虑使用 GetAttributeValue 方法。

    【讨论】:

    • 谢谢伙计。您打开了我对 fetchXML 的想法,虽然我不需要使用它,但很高兴知道这个特性。非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2017-01-18
    • 2019-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-30
    • 2010-12-03
    • 1970-01-01
    相关资源
    最近更新 更多