Dynamics Crm 2013让所有专栏都无效

时间:2014-07-02 06:09:31

标签: crm microsoft-dynamics

我使用动力学crm 2013和sdk。我在下面编写了代码并尝试获取实体的所有列但不起作用。

我的第二个问题是,我想获得一个列,例如“new_onaysayisi”,但返回列是“contactid”。

   public static List<Entity> GetEntityList(string entityName, int memberType)
    {
        GetOrganisationService();

                 var query = new QueryExpression
        {
            EntityName = entityName,
            ColumnSet =new ColumnSet("new_onaysayisi"),
            Criteria = new FilterExpression { FilterOperator = LogicalOperator.And },
        };

        query.Criteria = new FilterExpression();

        query.Criteria.Conditions.Add
        (
            new ConditionExpression("new_uyelikturu", ConditionOperator.Equal, memberType)
        );


        var entities = _service.RetrieveMultiple(query).Entities.ToList();



        return entities;

    }

出了点问题,但我无法找到解决方案。

我哪里错了?谢谢你的帮助。

    public static List<Entity> GetEntityList(string entityName, int memberType)
    {
        GetOrganisationService();

        var cs = new ColumnSet { AllColumns = true };
        var query = new QueryExpression
        {
            EntityName = entityName,
            ColumnSet =cs,
            Criteria = new FilterExpression { FilterOperator = LogicalOperator.And },
        };

        query.Criteria = new FilterExpression();

        query.Criteria.Conditions.Add
        (
            new ConditionExpression("new_uyelikturu", ConditionOperator.Equal, memberType)
        );


        var entities = _service.RetrieveMultiple(query).Entities.ToList();



        return entities;

    }`

1 个答案:

答案 0 :(得分:1)

可能是因为没有填充值。

在您的第一个示例中,始终返回主要实体的id。我怀疑new_onaysayisi没有被退回,因为它没有被填充。

在第二个示例中,AllColumns代码看起来不错,但您只能获得实际填充的列。

如果您使用entity.GetAttributeValue,则会返回一个值或null,这样可以更轻松地处理记录。