Dynamics crm 2011 Dynamics CRM 2011 SQL MetadataSchema主名称属性

Dynamics crm 2011 Dynamics CRM 2011 SQL MetadataSchema主名称属性,dynamics-crm-2011,Dynamics Crm 2011,我正在尝试根据需要每晚通过电子邮件发送的日期范围创建自定义审核摘要报告。我已经完成了大部分工作,但是需要一些帮助来获取引用实体的主要名称/字段/属性。我注意到,在引用实体的审核视图中,数据的存储方式类似于“systemuser;”。我想做的是获取要显示在报表上的主字段(主名称、主属性,不管它叫什么)。有人知道如何使用CRM SQL数据库中的MetadataSchema视图查找实体的主名称属性吗?我通过查看MetadataSchema.Attribute.IsPKAttribute字段找到了主键字

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

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

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

  • 获取所有实体的主字段的SQL查询

  • 有两种情况可以获取查找的对象类型代码

    • 类型
      附加到字段名(即CustomerIdType)
    • 如果上述内容不可用,请从AttributeMetadata获取

      选择ReferenceEntityObjectTypeCode
      来自[Discworld\u MSCRM].[dbo].[AttributeView]
      其中name=''和entityid=''
      
    我不确定类型字段存在的确切规则是什么


  • 如果您的查询中出现“&”是什么意思?为什么不直接执行a.DisplayMask=256?@meggeluski&是二进制和运算符。据我记忆所及,此字段存储其他标志。语句
    &256
    检查是否设置了特定标志。
    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
    
    SELECT ReferencedEntityObjectTypeCode
    FROM [Discworld_MSCRM].[dbo].[AttributeView]
    where name = '<field name>' and entityid = '<entity id>'