EntityReference属性并不总是完全填充

时间:2014-09-24 15:15:58

标签: c# linq dynamics-crm-2011

这是一个LINQ to CRM查询:

Contact crmContact = xrm.ContactSet.Where(x => x.ContactId == contactId).SingleOrDefault();

我有一个属性EntityReference,因此:

crmContact.assigned_clinic;

如您所知,EntityReference包含以下属性:

- Id (the Guid of the entity that it refers to)
- LogicalName (what type of entity does this reference references to)
- Name (the 'Name' attribute of the entity that's being refered to)

出于某些原因,我无法指责,在某些情况下,LogicalNameName属性已正确填充,有时,它们是空字符串。

强制完整检索该数据的任何想法?

2 个答案:

答案 0 :(得分:2)

嗯,那不长。我认为SingleOrDefault()检索了所有内容,但显然,你需要调用ToList()才能实现。我将查询更改为:

Contact crmContact = xrm.ContactSet.Where(x => x.ContactId == contactId).ToList().SingleOrDefault();

现在正在填充所有EntityReference个属性。有时候我这样做,有时不会解释“并不总是完全填满”的神秘感。

答案 1 :(得分:1)

技术原因写在MSDN上:

EntityReference.Name Property

  

此属性可以包含值或null。这个属性不是   除非EntityReference对象已经自动填充   从服务器检索。