La fetch è uno strumento molto utile e veloce se si devono fare dei controlli. Una funzione per gestire comodamente le fetch Xml in crm.
public static int GetParticipationCount(string entityName, string attributeName, object attributeValue)
{
string fetchXml = @"
<fetch mapping=""logical"" aggregate=""true"">
<entity name=""{0}"">
<attribute name=""{1}"" aggregate=""count"" alias=""count"" />
<filter>
<condition attribute=""{1}"" operator=""eq"" value=""{2}"" />
</filter>
</entity>
</fetch>
";
fetchXml = string.Format(fetchXml, entityName, attributeName, attributeValue);
string xml = service.Fetch(fetchXml);
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
XmlNode node = doc.SelectSingleNode("/resultset/result/count");
int count = Convert.ToInt32(node.InnerXml);
return count;
}