0

我在使用需要返回基于给定电子邮件地址的记录的 GUID 的方法时遇到问题。这就是我目前所拥有的:

        ColumnSet columnSet = new ColumnSet();
        columnSet.AddColumns(new[] { "leadid" });

        var query = new QueryExpression
        {
            EntityName = "lead",
            ColumnSet = columnSet
        };

        FilterExpression leadFilter = new FilterExpression();
        leadFilter.AddCondition(new ConditionExpression
        {
            AttributeName = "emailaddress1",
            Operator = ConditionOperator.Equal,
            Values = new object[] { emailAddress }
        });

        query.Criteria = leadFilter;

        BusinessEntityCollection result = crmService.RetrieveMultiple(query);

        foreach (BusinessEntity record in result)
        {
            //Guid leadId = ?? Not sure how to extract it. 
        }

A)这似乎有点矫枉过正,因为我只需要一条记录(但不要认为我可以使用 Retrieve,因为我没有 id)。B)我如何在 foreach 中从上述内容中实际检索 GUID?

谢谢。

4

1 回答 1

1

A) 不能保证您只会取回一个实体,例如,可能存在使用相同电子邮件地址的多个潜在客户的情况。

B)您可以将BusinessEntity转换为您查询的实体,它是所有其他实体类型的抽象基类。

于 2012-06-27T11:51:45.930 回答