Reputation: 103
I am trying to query Business Unit ID from equipment, but i am getting an error
QueryExpression qe = new QueryExpression();
qe.EntityName = "equipment";
qe.ColumnSet = new ColumnSet();
qe.ColumnSet.AddColumns("equipmentid", "name", "businessunitid");
qe.Criteria.AddCondition("name", ConditionOperator.Equal,EquipmentDropdown.Text);
EntityCollection resultequipments = _orgService.RetrieveMultiple(qe);
if(resultequipments.Entities.Count > 0)
{
Equipmentid = (Guid)resultequipments.Entities[0]["equipmentid"];
Buid = (Guid)resultequipments.Entities[0]["businessunitid"]; // error at this line
}
Some one please help Thanks in advance
Upvotes: 1
Views: 245
Reputation: 3664
If you debug your code, you'll see that the businessunitid attribute is an EntityReference, not a Guid. Do this:
var entityRef = (EntityReference)resultequipments.Entities[0]["businessunitid"];
var Buid = entityRef.Id;
Upvotes: 1
Reputation: 79
you must make a loop to read the entityCollection
ConditionExpression condition = new ConditionExpression();
condition.AttributeName = "name";
condition.Operator = ConditionOperator.NotNull;
condition.Values.Add(EquipmentDropdown.Text);
ColumnSet columns = new ColumnSet("equipmentid", "name", "businessunitid");
QueryExpression qe = new QueryExpression();
qe.EntityName = "equipment";
qe.ColumnSet = columns;
EntityCollection resultequipments = _serviceProxy.RetrieveMultiple(qe);
foreach(Entity r in resultequipments.Entities)
{
Console.WriteLine( r.Attributes["equipmentid"]);
Console.WriteLine(r.Attributes["businessunitid"]); // error at this line
}
}
}
Upvotes: 0