У меня есть следующий код:
Entity account = service.Retrieve("account", ID, new ColumnSet(true));
string name = (string)account.Attributes["name"];
const string fetchXmlPattern =
@"<fetch mapping='logical' version='1.0'>
<entity name='account'>
<attribute name='maintname' />
<filter>
<condition attribute='maintname' operator='eq' value='{0}' />
</filter>
<link-entity name='contact' from='contactid' to='primarycontactid' link-type='inner'>
<attribute name='accountidname'/>
</link-entity>
</entity>
</fetch>";
string fetchXml = string.Format(fetchXmlPattern, name);
var fetchExpression = new FetchExpression(fetchXml);
EntityCollection response = service.RetrieveMultiple(fetchExpression);
var records = response.Entities;
List<Account> Accounts= new List<Account>();
foreach (var item in records)
{
Account AccountFranchisee = new Account();
AccountFranchisee.ID = (Guid)item.Attributes["accountid"];
AccountFranchisee.Name = (string)item.Attributes["accountidname"];
Accounts.Add(AccountFranchisee);
}
return Accounts;
Я получаю исключение Ключ не найден в этой строке:
AccountFranchisee.Name = (string)item.Attributes["accountidname"];
То есть он не может найти атрибут, который находится вссылка на сущность.Я попытался разместить псевдонимы, изменить шаблон, изменить синтаксис и несколько решений в Интернете и т. Д. Я потратил много часов на эту вещь, все еще не могу понять, что не так.
Как можноЯ получаю значение?
Спасибо!