如何解决动态 API - 在创建时关联多对多实体
是否可以在 API Create 调用上关联实体,其中的关系是 ManyToManyRelationship,如下所示?
{
"SchemaName": "testscheduleid_testid","Entity1LogicalName": "testschedule","Entity2LogicalName": "test","IntersectEntityName": "testschedule_test","Entity1IntersectAttribute": "testscheduleid","Entity2IntersectAttribute": "testid",}
Create an entity using the Web API 上的示例仅显示 OnetoMany。
或者 /tests(00000000-0000-0000-0000-000000000002)/testschedules/$ref 是通过 REST API 的唯一途径
解决方法
Web API 只有两种关系的概念:
- 单值
- 收藏价值
当涉及到 N:N 关系时,它们只是双方的集合价值关系。虽然它们之间存在相交实体,但在处理关系时您只需忽略它。
如果您查看当前文档,您将在此处看到一个示例Associate table rows on create
使用此代码:
POST [Organization URI]/api/data/v9.0/accounts?$select=name&$expand=primarycontactid($select=fullname),Account_Tasks($select=subject) HTTP/1.1
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
Prefer: return=representation
{
"name": "Sample Account","primarycontactid@odata.bind": "/contacts(00000000-0000-0000-0000-000000000001)","Account_Tasks@odata.bind": [
"/tasks(00000000-0000-0000-0000-000000000002)","/tasks(00000000-0000-0000-0000-000000000003)"
]
}
虽然这是一个一对多的关系,但使用代表 N:N 关系的正确集合值导航属性,它应该以相同的方式工作。
忽略相交实体。 在 $metadata
中查找正确的集合值导航属性版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。