Я пытаюсь создать запрос Dynamics CRM 4, чтобы я мог получать события календаря с именами «Событие A» или «Событие B».
Кажется, что QueryByAttribute не выполняет эту работу, поскольку я не могу указать условие, когда поле с именем "имя_ события" = "Событие А" из "имя_ события" = "Событие Б".
При использовании QueryExpression я обнаружил, что FilterExpression применяется к объекту ссылки. Я не знаю, можно ли вообще использовать FilterExpression для ссылочной сущности. Приведенный ниже пример напоминает то, чего я хочу достичь, хотя при этом будет возвращен пустой набор результатов, так как он будет искать в сущности с именем «my_event_response» атрибут «name». Похоже, мне нужно будет выполнить несколько запросов, чтобы получить это, но это менее эффективно, чем если бы я мог отправить все сразу.
ColumnSet columns = new ColumnSet();
columns.Attributes = new string[]{ "event_name", "eventid", "startdate", "city" };
ConditionExpression eventname1 = new ConditionExpression();
eventname1.AttributeName = "event_name";
eventname1.Operator = ConditionOperator.Equal;
eventname1.Values = new string[] { "Event A" };
ConditionExpression eventname2 = new ConditionExpression();
eventname2.AttributeName = "event_name";
eventname2.Operator = ConditionOperator.Equal;
eventname2.Values = new string[] { "Event B" };
FilterExpression filter = new FilterExpression();
filter.FilterOperator = LogicalOperator.Or;
filter.Conditions = new ConditionExpression[] { eventname1, eventname2 };
LinkEntity link = new LinkEntity();
link.LinkCriteria = filter;
link.LinkFromEntityName = "my_event";
link.LinkFromAttributeName = "eventid";
link.LinkToEntityName = "my_event_response";
link.LinkToAttributeName = "eventid";
QueryExpression query = new QueryExpression();
query.ColumnSet = columns;
query.EntityName = EntityName.mbs_event.ToString();
query.LinkEntities = new LinkEntity[] { link };
RetrieveMultipleRequest request = new RetrieveMultipleRequest();
request.Query = query;
return (RetrieveMultipleResponse)crmService.Execute(request);
Буду признателен за советы о том, как получить нужные мне данные.