Sto tentando di creare una query di Dynamics CRM 4 in modo da ottenere eventi del calendario denominati "Evento A" o "Evento B".Creazione di un'espressione di query in cui il campo del nome è A o B
A QueryByAttribute non sembra eseguire il lavoro in quanto non è possibile specificare una condizione in cui il campo denominato "event_name" = "Evento A" di "event_name" = "Evento B".
Quando si utilizza QueryExpression, ho trovato che FilterExpression si applica all'entità di riferimento. Non so se FilterExpression può essere utilizzato sull'entità di riferimento. L'esempio che segue è qualcosa di simile a ciò che voglio ottenere, sebbene ciò restituisca un set di risultati vuoto mentre andrà a cercare nell'entità chiamata "my_event_response" per un attributo "nome". Sta cominciando a sembrare che avrò bisogno di eseguire diverse query per ottenere questo, ma questo è meno efficiente di se posso inviarlo tutto in una volta.
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);
Apprezzerei qualche consiglio su come ottenere i dati di cui ho bisogno.