繁体   English   中英

Dynamics CRM 2011 SQL MetadataSchema主名称属性

[英]Dynamics CRM 2011 SQL MetadataSchema Primary Name Attribute

我正在尝试根据需要每晚通过电子邮件发送的日期范围创建自定义审核摘要报告。 我已经完成了大部分工作,但需要一些帮助来获取引用实体的主要名称/字段/属性。 我在Audit视图中注意到引用的实体,数据存储为'systemuser;'。 我想要做的是抓住主要字段(主要名称,主要属性,无论它叫什么)以显示在报告上。 有没有人知道如何使用CRM SQL数据库中的MetadataSchema视图查找实体的Primary Name属性? 我通过查看MetadataSchema.Attribute.IsPKAttribute字段找到了Primary Key字段,但是我没有看到Primary Name字段的任何内容。

此外,如果没有以下审核条目,我将从实体中获取当前值。 对于查找字段(如所有者或客户),如何从元数据中分辨哪个字段存储ObjectTypeCode? 例如,如果我在销售订单上查找客户,我知道我可以查看CustomerIdType字段以查找ObjectTypeCode,但我需要发现该字段从元数据中称为CustomerIdType。

如果有人从CRM的SQL端对元数据有任何好的参考,我将不胜感激。

  1. SQL查询以获取所有实体的主要字段

     SELECT e.Name as 'entity', a.Name as 'primary field' FROM [dbo].EntityView e left join [dbo].AttributeView a on e.EntityId = a.EntityId where (a.DisplayMask & 256) > 0 --256 is for primary field order by e.name 
  2. 有两种情况可以获取对象类型的查找代码

    • Type附加到字段名称(即CustomerId 类型
    • 如果以上不可用,请从AttributeMetadata获取

       SELECT ReferencedEntityObjectTypeCode FROM [Discworld_MSCRM].[dbo].[AttributeView] where name = '<field name>' and entityid = '<entity id>' 

    我不确定Type字段存在哪些确切的规则

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM