このコードは、CRM 2011 REST サービス API から ATOM フィードを受け取ります。動作しますが、非常に冗長に見えますが、応答を消費するより効率的な方法が見つかりません。何か提案をいただければ幸いです。または、質問をより具体的にする必要がある場合は、これが推奨されるアプローチですか? これまでのところ、CRM SDK または MSDN でこれに関するものは何も見つかりませんでした。
XmlDocument xml = new XmlDocument();
xml = xrm.GetXMLData(query);
XDocument xdoc = XDocument.Parse(xml.OuterXml);
XNamespace d = "http://schemas.microsoft.com/ado/2007/08/dataservices";
XNamespace m = "http://schemas.microsoft.com/ado/2007/08/dataservices/metadata";
XNamespace atom = "http://www.w3.org/2005/Atom";
foreach (var entity in xdoc.Descendants(atom + "entry"))
{
var psi = entity.Element(atom + "content")
.Element(m + "properties")
.Element(d + "new_name");
var status = entity.Element(atom + "content")
.Element(m + "properties")
.Element(d + "new_ExternalStatus");
UpdateExternalDBStatus(psi.Value, status.Value);
}