zoukankan      html  css  js  c++  java
  • 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有值了

  • 相关阅读:
    redis 操作
    Xcode 改时间问题 lua代码没反应问题
    apk 反编译
    mysql远程连接命令
    python 利用三方的xlrd模块读取excel文件,处理合并单元格
    eclipse 新建项目不可选择Java Project 解决方法
    eclipse左边的工程列表窗口不见了解决方案
    python_pycham,连接数据库,执行sql
    Eclipse修改默认的语言编码设置,处理乱码
    httprunner中的分层(api、testcase、testsuite)及实际使用
  • 原文地址:https://www.cnblogs.com/yobyron/p/9282788.html
Copyright © 2011-2022 走看看