C# MS Dynamics 4.0:根据电子邮件地址检查记录是否存在
我遇到了一个需要返回基于给定电子邮件地址的记录GUID的方法的问题。这就是我目前的情况:C# MS Dynamics 4.0:根据电子邮件地址检查记录是否存在,c#,asp.net,dynamics-crm,dynamics-crm-4,C#,Asp.net,Dynamics Crm,Dynamics Crm 4,我遇到了一个需要返回基于给定电子邮件地址的记录GUID的方法的问题。这就是我目前的情况: ColumnSet columnSet = new ColumnSet(); columnSet.AddColumns(new[] { "leadid" }); var query = new QueryExpression { EntityName = "lead", ColumnSet =
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) 这似乎有些过分,因为我只需要一条记录(但我不认为我可以使用检索,因为我没有id)。
B) 如何在foreach中实际从上面检索GUID
谢谢。A)不能保证您只能取回一个实体,例如,可能有多个潜在客户具有相同的电子邮件地址
B) 您可以将BusinessEntity
强制转换为您查询的EntityType,它是所有其他EntityType的抽象基类