Ive только начал входить в LINQ to CRM за последние 48 часов и может сделать небольшую помощь.EntityReference вызывает ошибку времени выполнения
Ive построил следующий запрос, который дает мне кучу данных о каждом контакте и их компании из CRM:
var contacts =
(
from c in context.ContactSet
join m in context.py3_membershipSet on c.ContactId equals m.py3_Member.Id
where m.statuscode.Value == 1
orderby c.LastName
select new
{
FirstName = c.FirstName,
LastName = c.LastName,
BranchCode = c.py3_BranchArea,
Branch = (c.FormattedValues.Contains("py3_brancharea") ? c.FormattedValues["py3_brancharea"] : "N/a"),
JobTitle = c.JobTitle,
Organisation = c.ParentCustomerId.Name,
joinedAsCode = c.py3_SOLACEMemberJoinedAs,
JoinedAs = (c.FormattedValues.Contains("py3_solacememberjoinedas") ? c.FormattedValues["py3_solacememberjoinedas"] : "N/a"),
Expertise = c.py3_SOLACEMemberAreasofExpertise
}
);
Я затем использовать простой Еогеасп Перебери каждую запись и записать его:
foreach (var a in contacts)
{
Response.Write("<span style='font-size:small'>Firstname: " + a.FirstName + " | LastName: " + a.LastName + " | Job Title: " + a.JobTitle + "| Org: " + a.Organisation + " | Branch: " + a.Branch + " | Expertise: " + a.Expertise + " | Membership Product: " + a.JoinedAs + "</span><br/>");
}
Однако при запуске страницы я получаю ошибку «ссылка на объект, не установленную на экземпляр объекта». Ошибка дает следующую информацию, которая в настоящее время ничего не значит для меня:
[NullReferenceException: Object reference not set to an instance of an object.]
lambda_method(Closure , <>f__AnonymousTypef`2) +658
от процесса ликвидации, я знаю, что проблемы заключается в попытке выписать «a.Organisation», которая относится к «c.ParentCustomerId. Имя»
Usinq LINQPad Я могу видеть, что это LINQ воспитывает ParentCustomerId и показывает, что он имеет четыре детей, а именно:
- Id
- LogicalName
- Название
- данных расширения
Так что я знаю, что я хочу «c.ParentCustomerId.Name», однако я не уверен, почему Im имея этот вопрос. Возможно ли это, но маловероятно, что некоторые записи (сущности?) Не имеют значения для этого.
Есть ли что-то, что я не делаю правильно с точки зрения захвата этих данных, или это просто, что я не заселяю его каким-то стандартным данным, когда запись пуста/null?
Сво не FormattedValues Thats вызывает проблему. Это касается Организации, как указано в моем ОП. Branch and RegistrationAs работают нормально и отлично справляются с нулями. Ive пробовал аналогичный подход с организацией, и он по-прежнему вызывает ту же ошибку. –
@PhillHealey - Это был основной пример. Я также расширил его, чтобы охватить Организацию. Это хорошая практика, чтобы использовать их везде, где вы могли бы пробежать нуль. –
Хорошо, я понимаю, что вы сейчас делаете. Тем не менее, Ive попробовал это предложение для организации ранее, и он по-прежнему бросает ту же ошибку. –