微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

动态 API - 在创建时关联多对多实体

如何解决动态 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 举报,一经查实,本站将立刻删除。