【问题标题】:How to fetch entity records from CRM如何从 CRM 中获取实体记录
【发布时间】:2015-03-30 10:06:44
【问题描述】:

我是 MS-CRM 的新手,我想检索联系人的所有详细信息

     var executeQuickFindRequest = new OrganizationRequest("ExecuteQuickFind");
            executeQuickFindRequest.Parameters = new ParameterCollection();


            var entities = new List<string> { "contact", "lead", "account" };                //specify search term                
            executeQuickFindRequest.Parameters.Add("SearchText", "maria");
            //will cause serialisation exception if we don't convert to array                
            executeQuickFindRequest.Parameters.Add("EntityNames", entities.ToArray());

            var executeQuickFindResponse = _orgService.Execute(executeQuickFindRequest);
            var result = executeQuickFindResponse.Results;

此处显示的数据包含显示名称,例如address_1_City,email_user

但是我想获得实际名称,例如AddressEmail 等。

谢谢

【问题讨论】:

    标签: c# crm dynamics-crm-2015


    【解决方案1】:

    只是为了扩展 BlueSam 上面提到的内容。

    EntityMetadata entityMetaData = retrieveEntityResponse.EntityMetadata;
    for (int count = 0; count < entityMetaData.Attributes.ToList().Count; count++)
    {
        if (entityMetaData.Attributes.ToList()[count].DisplayName.LocalizedLabels.Count > 0)
        {
            string displayName = entityMetaData.Attributes.ToList()[count].DisplayName.LocalizedLabels[0].Label;
            string logicalName = entityMetaData.Attributes.ToList()[count].LogicalName;
            AttributeTypeCode dataType = (AttributeTypeCode)entityMetaData.Attributes.ToList()[count].AttributeType;
        }
    }
    

    以上代码将帮助您获取实体中每个属性的显示名称、逻辑名称和数据类型。同样,您也可以按照上面的代码 sn-p 从 entityMetaData 对象中获取其他信息。

    【讨论】:

    • 我将 attributes 设为 null。
    【解决方案2】:

    据我所知,您需要将其与用于该请求的实体的属性配对。以下是如何检索实体的示例:

    RetrieveEntityRequest retrieveBankAccountEntityRequest = new RetrieveEntityRequest
    {
     EntityFilters = EntityFilters.Entity,
     LogicalName = entityName
    };
    RetrieveEntityResponse retrieveEntityResponse = (RetrieveEntityResponse)_serviceProxy.Execute(retrieveBankAccountEntityRequest);
    

    【讨论】:

      【解决方案3】:

      你可以像下面这样简单地做到这一点

             using (var service =  new  OrganizationService(CrmConnection.Parse("CRMConnectionString")))
          {
      var Res = service.Retrieve("sv_answer", new Guid("GUID Of Record"), new ColumnSet("ColumnName "));
          }
      

      【讨论】:

        猜你喜欢
        • 2019-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-04-04
        • 2021-02-08
        • 1970-01-01
        相关资源
        最近更新 更多