2008-10-17 66 views
2

我试图检索实体中存在的属性名称和类型,动态实体是精确的。我有以下代码。在MS CRM 4.0中检索实体的属性名称

DynamicEntity contactEntity = new DynamicEntity(); 
contactEntity.Name = EntityName.contact.ToString(); 

Property t = null; 
foreach (Property prop_Test in contactEntity.Properties) 
{ 
    Response.Write("<br/>Name : " + prop_Test.Name.ToString()); 
} 

我得到的属性数为0

这是必须给我一个id传递到接触实体。因为我试图将属性从实体映射到从excel文件中获得的属性。最终用户自己会做映射,所以我需要的是属性名称和类型,没有别的。例如,在SQL我们查询

SELECT * FROM TABLE_NAME WHERE 1 <> 1 

该查询返回基本上只用字段名的空结果。这就是我在这里寻找的。它甚至有可能吗?

回答

2

在上例中,动态实体没有设置任何属性。动态实体是MS CRM中的一种特殊类型,用于在运行时不知道CRM类型时使用。如果向动态实体添加属性并运行示例,则会返回您定义的许多属性。

为了获得联系人属性,您需要参考SDK中所述的CRM元数据服务。

在此下载中的示例部分中有一个示例,显示如何获取实体和属性元数据。