Dynamics CRM2013/2015 检索实体属性的两种方式

       昨天有朋友问起如何查询一个字段属性是否存在于某个实体中,一般这个问题我们会采取最直观的查询方式即MetadataBrowser,该工具是一个zip解决方案包在SDK中的如下目录内"\SDK\Tools\MetadataBrowser"。

     解决方案导入后,直接双击解决方案打开,这里我们要查看单个实体所以点第二个按钮


      选择你要查看的实体,属性、关系等一目了然。


      上述方法是我们最常用的,再来看一种不常用的,利用request来查询,附上SDK中示例代码。

RetrieveAttributeRequest attributeRequest = new RetrieveAttributeRequest
            {
                EntityLogicalName = "new_test",
                LogicalName = "new_testdate",
                RetrieveAsIfPublished = true
            };
            RetrieveAttributeResponse attributeResponse =(RetrieveAttributeResponse)organizationServiceProxy.Execute(attributeRequest);

            Console.WriteLine("Retrieved the attribute {0}.",attributeResponse.AttributeMetadata.SchemaName);


      这里我查询了"new_testdate"字段,如果存在该字段则输出该字段的schemaName。假如我查询一个"new_testdata"这样不存在的字段就会报错。

      第二种方法对于某些无法使用MetadataBrowser的特殊环境还是很有用的。


posted on 2015-11-12 14:02  代码王子  阅读(197)  评论(0)    收藏  举报

导航