namespace D365HelperApplication.CommonClasses
{
class FetchRecords
{
public static List<Guid> FetchRelatedRecords(string relatedEntityName, string relatedEntityPrimaryAttrName, string primaryEntityAttrName, string primaryEntityGuid, CrmServiceClient client)
{
List<Guid> relatedEntityIds = new List<Guid>();
// Define Condition Values
var query_primaryEntityid = primaryEntityGuid;
// Instantiate QueryExpression query
var query = new QueryExpression(relatedEntityName);
// Add columns to query.ColumnSet
query.ColumnSet.AddColumns(relatedEntityPrimaryAttrName);
// Define filter query.Criteria
query.Criteria.AddCondition(primaryEntityAttrName, ConditionOperator.Equal, query_primaryEntityid);
EntityCollection ec = client.RetrieveMultiple(query);
if(ec.Entities.Count() > 0)
{
foreach(Entity e in ec.Entities)
{
relatedEntityIds.Add(e.Id);
}
}
return relatedEntityIds;
}
}
}