问题描述
例如
<attribute name="fullname" />
如果在实体中当前未在动态中设置“全名”,则不会返回该属性。有什么方法可以在结果集中收到空白?
我正在使用
EntityCollection collection = svc.RetrieveMultiple(new FetchExpression(body.ToString()));
解决方法
这是通常的和预期的行为。只是我们必须检查存在性和可用性,如下所示:
if (entity.Contains("fullname") && entity.GetAttributeValue<String>("fullname") != null)
{
//your logic here
}
在使用EntityCollection
的{{1}}迭代中,对数据类型的每个属性使用上述检查。
假设您将ColumnSet设置为All / true。
您可以使用RetrieveEntityRequest与元数据分开查询所有实体属性 确保将EntityFilter设置为Attributes 这将从元数据中检索有关所述实体类型的所有属性。
一旦有了所有现有属性的列表,就可以循环检查它们是否存在于集合的返回实体中 if(!entity.contains(att))=>这意味着该值为空。
默认情况下,Dynamics不会在集合中返回该属性。