如何通过OData API的URL、凭证及$metadata获取实体XSD?
能否从OData元数据获取实体XSD?
可以。原因如下:
- OData的
{api_url}/$metadata返回的是EDMX格式的元数据文档,它本身就内置了所有实体的结构定义(包括属性类型、关联关系等),而EDMX是基于XML Schema(XSD)扩展而来的格式。 - 你完全可以通过现有信息提取出目标实体的XSD:
- 调用
{api_url}/$metadata拿到完整的EDMX内容 - 在文档的
<edmx:DataServices>节点下找到对应实体的<EntityType>定义 - 直接提取该实体对应的Schema片段——EDMX里的
<Schema>节点本身就符合XSD规范,或者你可以根据<EntityType>的内容手动整理成标准XSD结构
- 调用
- 就算不用自动化工具,仅靠手动处理EDMX文档也能得到目标实体的XSD,因为EDMX的核心Schema部分本质就是XSD的超集。
内容的提问来源于stack exchange,提问作者Joel
相关产品推荐
相关产品推荐

