2 回答

TA贡献1712条经验 获得超3个赞
您应该使用ConditionOperator.Likewith%而不是ConditionOperator.Equal
更新:
我很快在 XrmToolBox Fetchxml builder 中进行了查询,并从那里复制了等效的 QueryExpression。是的,你必须使用activityparty而不是activitypointer. (不确定您的查询如何因未找到列而失败!?)
// Instantiate QueryExpression QEemail
var QEemail = new QueryExpression("email");
QEemail.TopCount = 50;
// Add columns to QEemail.ColumnSet
QEemail.ColumnSet.AddColumns("activityid", "activitytypecode");
// Define filter QEemail.Criteria
QEemail.Criteria.AddCondition("activitytypecode", ConditionOperator.Equal, 4202);
// Add link-entity QEemail_activityparty
var QEemail_activityparty = QEemail.AddLink("activityparty", "activityid", "activityid");
// Add columns to QEemail_activityparty.Columns
QEemail_activityparty.Columns.AddColumns("addressused");
// Define filter QEemail_activityparty.LinkCriteria
QEemail_activityparty.LinkCriteria.AddCondition("addressused", ConditionOperator.Like, "%arunvinoth%");

TA贡献1834条经验 获得超8个赞
为了完整起见,这里是代码..
private static EntityCollection GetEmails(IOrganizationService service, string entityName, ColumnSet cols)
{
QueryExpression query = new QueryExpression
{
EntityName = "email",
Criteria = new FilterExpression
{
//FilterOperator = LogicalOperator.And,
Conditions = {
new ConditionExpression {
AttributeName = "statuscode",
Operator = ConditionOperator.Equal,
Values = { 1 }
}
}
},
LinkEntities = {
new LinkEntity {
LinkFromEntityName = "email",
LinkFromAttributeName = "activityid",
LinkToEntityName = "activityparty",
LinkToAttributeName = "activityid",
LinkCriteria = new FilterExpression {
FilterOperator = LogicalOperator.And,
Conditions = {
new ConditionExpression {
AttributeName = "addressused",
Operator = ConditionOperator.Like,
Values = { "%" + "agus@yahoo" + "%" }
}
}
}
}
}
};
return service.RetrieveMultiple(query);
}
- 2 回答
- 0 关注
- 237 浏览
添加回答
举报