User-893002196 posted
Hi All,
I got error:
Condition for attribute 'opportunity.opportunityid': expected argument(s) of type 'System.Guid' but received 'System.Object[]'.
I guest something wrong with my ConditionExpression Values = { opportunityfilter }.
Please advise. Thank you. My code as below:-
var
opportunityfilter = crmOpportunities.ToArray()[0].Entities.Select(k => k.Attributes["opportunityid"]).Cast<Guid>().ToArray();
//
Set up column set
ColumnSet
cols = new
ColumnSet("opportunityid","...","...");
ConditionExpression
oppCondition = new
Microsoft.Xrm.Sdk.Query.ConditionExpression
{
AttributeName ="opportunityid",
Operator =ConditionOperator.In,
Values = { opportunityfilter }
};
FilterExpression
filter =
new
FilterExpression();
filter.FilterOperator =LogicalOperator.And;
filter.AddCondition(oppCondition);
LinkEntity
linkToOpportunity =
new
LinkEntity();
linkToOpportunity.JoinOperator =JoinOperator.Inner;
linkToOpportunity.LinkCriteria = filter;
linkToOpportunity.LinkFromEntityName ="opportunityproduct";
linkToOpportunity.LinkFromAttributeName ="opportunityid";
linkToOpportunity.LinkToEntityName ="opportunity";
linkToOpportunity.LinkToAttributeName ="opportunityid";
//
Create query
QueryExpression
query = new
Microsoft.Xrm.Sdk.Query.QueryExpression()
{
EntityName ="opportunityproduct",
ColumnSet = cols, Criteria = filter
};
:
:
query.PageInfo.PagingCookie = (pageNumber == 1) ?null
: multiResponse.EntityCollection.PagingCookie;
query.PageInfo.PageNumber = pageNumber++;
multiRequest =new
RetrieveMultipleRequest();
multiRequest.Query = query;
multiResponse = (RetrieveMultipleResponse)crmService.Execute(multiRequest);
<<----Error
Regards,
Micheale