Dynamics crm 使用c从dynamics crm中的每个实体获取与联系人相关的字段名#

Dynamics crm 使用c从dynamics crm中的每个实体获取与联系人相关的字段名#,dynamics-crm,dynamics-crm-2013,dynamics-crm-online,Dynamics Crm,Dynamics Crm 2013,Dynamics Crm Online,我有一个函数,它根据模块名相关联系人获取数据 代码: 但对于所有模块,都有与联系人相关的不同名称。例如,对于lead,它是parentcontactid,但对于invoice,它是customerid 那个么,从实体名称中提取与联系人相关的属性名称有什么解决方案吗?因为每个实体的if-else并不像我在开始时所做的那个样是解决方案 请建议我回答。如果您要在有限的实体集合上查找特定的联系人,我会将其硬编码到名称-值对集合中,与您所做的类似,除了可能的键值对存储: private Dictionar

我有一个函数,它根据模块名相关联系人获取数据

代码:

但对于所有模块,都有与联系人相关的不同名称。例如,对于lead,它是parentcontactid,但对于invoice,它是customerid

那个么,从实体名称中提取与联系人相关的属性名称有什么解决方案吗?因为每个实体的if-else并不像我在开始时所做的那个样是解决方案


请建议我回答。

如果您要在有限的实体集合上查找特定的联系人,我会将其硬编码到名称-值对集合中,与您所做的类似,除了可能的键值对存储:

private Dictionary<String, String> _contactMappings = new Dictionary<String, String>{"lead", "parentcontactid"}, {"incident", "contactid"};
private Dictionary\u contactMappings=新字典{“lead”、“parentcontactid”}、{“incident”、“contactid”};

另一种选择是,使用和缓存结果,但您不知道哪个是正确的查找。例如,
事件
有3个要查找的联系人(
联系人ID
责任联系人
,和
主要联系人ID
)。

不幸的是,没有,因为主要联系人属性在不同实体之间可能不同。您必须切换实体名称并派生要查找的属性。
private Dictionary<String, String> _contactMappings = new Dictionary<String, String>{"lead", "parentcontactid"}, {"incident", "contactid"};