В прошлом мой FetchXML доставлял мне результат в формате xml, но поскольку я меняю сервер, эта функция string ret = service.Fetch(fetchXml);
больше не работает, поэтому мне пришлось прибегнуть к другому решению, но это дает мне больше работы по созданию XML-файла.Как получить результат FetchXML как XML, а не сущностей?
Fetch Строка пример:
string fetchXml = @"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false'>
<entity name='account'>
<attribute name='name'/>
<attribute name='telephone1'/>
</entity>
</fetch>";
EntityCollection ec = organizationProxy.RetrieveMultiple(new FetchExpression(fetchXml));
XElement rootXml = new XElement("account");
foreach (Entity account in ec.Entities)
{
if (account.Attributes.Contains("name"))
{
rootXml.Add(new XElement("name", account.Attributes.Contains("name") ? account["name"] : ""));
rootXml.Add(new XElement("telephone1", account.Attributes.Contains("telephone1") ? account["telephone1"] : ""));
}
}
res.XmlContent = rootXml.ToString();
Так что я здесь делаю, это построить строку XML вручную, и я знаю, что CRM может обеспечить результат в XML, я googleit (http://social.msdn.microsoft.com/Forums/en-US/af4f0251-7306-4d76-863d-9508d88c1b68/dynamic-crm-2011-fetchxml-results-into-xmltextreader-to-build-an-xml-output) Но это дайте мне больше работы, чем мой код. Или другого решения нет?