• Dynamics 365-为什么查到的Record的Id是Guid初始值


      通过代码查询CRM数据,这个是开发经常会碰到的情况,获取返回的EntityCollection之后,我们会拿Entity.Id做进一步操作。笔者最近碰到的情况,是Entity.Id是个初始值。先上一段FetchXml:

    private string FetchAccountFromContact = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='true'>" +
        "<entity name='account'>" +
          "<attribute name='name' />" +
          "<attribute name='new_bdrassigned' />" +
          "<attribute name='ownerid' />" +
          "<order attribute='name' descending='false' />" +
          "<link-entity name='contact' from='parentcustomerid' to='accountid' link-type='inner' alias='ac'>" +
            "<filter type='and'>" +
              "<condition attribute='contactid' operator='eq' value='{0}' />" +
            "</filter>" +
          "</link-entity>" +
        "</entity>" +
      "</fetch>";

    查询Code:

    FetchAccountFromContact = string.Format(FetchAccountFromContact, contactId);
    FetchExpression expression = new FetchExpression(FetchAccountFromContact);
    EntityCollection accounts = service.RetrieveMultiple(expression);

    这套查询操作,初看没什么问题,但是当用最后的accounts,来做进一步的处理的时候,问题来了:

    Id是Guid的初始值,并不是我们期望的真正的Record的Id。

    问题原因:

    在FetchXml那里,我们还需要加一个attribute,就是accountid。

    private string FetchAccountFromContact = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='true'>" +
        "<entity name='account'>" +
          "<attribute name='name' />" +
          "<attribute name='accountid' />" +
          "<attribute name='new_bdrassigned' />" +
          "<attribute name='ownerid' />" +
          "<order attribute='name' descending='false' />" +
          "<link-entity name='contact' from='parentcustomerid' to='accountid' link-type='inner' alias='ac'>" +
            "<filter type='and'>" +
              "<condition attribute='contactid' operator='eq' value='{0}' />" +
            "</filter>" +
          "</link-entity>" +
        "</entity>" +
      "</fetch>";

    然后再次查询就会发现Id有值了

  • 相关阅读:
    彻底弄懂类设计原则之 单一职责原则
    CF1592F1 Alice and Recoloring 1
    CF1592E Bored Bakry
    AT1218 たのしい家庭菜園
    CF1479A Searching Local Minimum
    P3295 [SCOI2016]萌萌哒
    CF1572B Xor of 3
    项目开发和管理需要弄清楚的6个问题
    PowerDesigner中如何生成主键和自增列Oracle版本
    js获取下拉框的选中值和文本值,后台获取用Request["XXXX"]即可
  • 原文地址:https://www.cnblogs.com/yobyron/p/9282788.html
Copyright © 2020-2023  润新知