我知道可以通过 OData $metadata 以 edmx 格式检索整个元数据结构。但是这些元数据的 EntityType 属性项缺少一些有趣的东西——例如,如果属性是可过滤的、可更新的或创建新对象的强制/可选。也许一些描述也会派上用场。
是否可以通过 API 检索此信息?
我知道可以通过 OData $metadata 以 edmx 格式检索整个元数据结构。但是这些元数据的 EntityType 属性项缺少一些有趣的东西——例如,如果属性是可过滤的、可更新的或创建新对象的强制/可选。也许一些描述也会派上用场。
是否可以通过 API 检索此信息?
您要求的大部分内容都可以通过使用 OData Capabilities 词汇注释(http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/vocabularies/ org.OData.Capabilities.V1.xml)。https://graph.microsoft.com/v1.0/ $metadata中已经存在一组有限的此类注释,例如:
<Annotations Target="microsoft.graph.directoryObject">
<Annotation Term="Org.OData.Capabilities.V1.FilterRestrictions">
<Record>
<PropertyValue Bool="false" Property="Filterable"/>
</Record>
</Annotation>
</Annotations>
将来会添加更多这样的注释。
强制属性通常标有 Nullable="false" 属性(http://docs.oasis-open.org/odata/odata/v4.0/errata02/os/complete/part3-csdl/odata-v4.0-errata02 -os-part3-csdl-complete.html#_Toc406397955)