我遇到了一个需要根据给定的电子邮件地址返回记录的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?
感谢。
答案 0 :(得分:1)
A)无法保证您只返回一个实体,例如,可能存在多个具有相同电子邮件地址的潜在客户。
B)您可以将BusinessEntity
强制转换为您查询的实体,它是所有其他实体类型的抽象基类。