如何在D365 FinOps中暴露Product Relationships实体至OData?
在D365 FinOps中暴露未公开的Product Relationships实体到OData API
以下是几种可行的解决方法,按优先级从高到低排列:
直接修改原生实体的OData发布状态
- 登录D365 FinOps,进入系统管理 > 数据实体页面。
- 搜索
Product Relationships对应的实体(通常名为EcoResProductRelationship,可通过实体名称或显示名称精准定位)。 - 打开实体详情,将OData发布字段从
否修改为是,保存更改。 - 等待系统完成元数据刷新(通常需要几分钟),之后该实体即可通过标准OData端点访问。
扩展原生实体并启用OData发布
如果原生实体的OData发布选项被锁定(比如属于系统核心实体无法直接编辑),可以通过扩展实现:- 打开Visual Studio,连接到你的FinOps环境,创建新的模型和扩展项目。
- 在项目中找到目标实体
EcoResProductRelationship,添加实体扩展。 - 在扩展的属性面板中,将
OData发布设置为是。 - 编译并部署项目到FinOps环境,部署完成后实体即可暴露到OData。
创建自定义OData服务
若前两种方法都无法实现,可构建自定义服务来封装实体操作:- 在Visual Studio中创建自定义服务类,继承
DataEntityServiceBase<EcoResProductRelationship>。 - 实现所需的CRUD方法(比如
create、read),处理数据验证和业务逻辑。 - 在FinOps的系统管理 > OData服务中注册自定义服务,指定端点路径。
- 部署服务后,即可通过自定义端点访问
Product Relationships实体的数据。
- 在Visual Studio中创建自定义服务类,继承
验证配置结果
完成上述任一操作后,访问FinOps的OData根地址(格式为https://<你的环境URL>/data),在实体列表中查找目标实体名称,确认其已存在。随后可通过POST请求测试插入记录的功能,确保集成流程正常。
内容的提问来源于stack exchange,提问作者Slade
相关产品推荐
相关产品推荐

