FetchXML中的Dynamics 365默认值

问题描述

反正我可以在Fetch XML查询中收到一个认值

例如 <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不会在集合中返回该属性。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...