Retrieve不会在dynamics crm 2011中使用插件检索所有属性

时间:2012-09-17 09:53:45

标签: plugins attributes entity dynamics-crm-2011

我正在尝试获取父实体的字段,但我没有得到所有字段,只有其中一些字段。

Entity parentEntity = service.Retrieve("entityname", id, new ColumnSet(true));

在调试时,我看到返回实体中自定义实体的一些自定义属性,但其中一些缺失。例如,我得到选项列表的整数值,但不是值字段的值。在检索到的实体中没有这样的属性。

这是一个触发更新后事件的插件。

任何帮助将不胜感激。 感谢。

1 个答案:

答案 0 :(得分:6)

您将只获取已填充的属性(在数据库中具有值)。

属性集合也可能包含一些其他位,例如系统值和Id,但对于标准字段,一般来说,只能获得返回值的字段。

例如,如果您有包含以下数据的联系人记录:

名字:詹姆斯 姓氏:Wood

然后:

Entity contact = service.Retrieve("contact", contactId, new ColumnSet(true));

contact.Attributes将包含' firstname'和'姓氏'。但不包含' middlename'。

(如果可以的话,通常应该避免使用new ColumnSet(true)。)