Service Odata将数据插入关系表

Service Odata将数据插入关系表,service,odata,foreign-key-relationship,relational,Service,Odata,Foreign Key Relationship,Relational,我已经为关系表创建了OData服务。我试图弄清楚,当发布到具有外键关系的表时,我的post查询会是什么样子,同时也减少了调用的数量 示例表包括: 人 拟人 名字 电子邮件地址 住所 居住区 拟人 地址 为了在residence表中创建新条目,通常我会根据姓名或电子邮件地址查找PersonID,然后插入residence表 如何使用ODataJSONAPI和单个调用实现同样的功能?可能吗?我正在使用fiddler测试服务 提前谢谢 -ap一般来说,在OData中没有真正好的方法来做到这一点

我已经为关系表创建了OData服务。我试图弄清楚,当发布到具有外键关系的表时,我的post查询会是什么样子,同时也减少了调用的数量

示例表包括:

  • 拟人
  • 名字
  • 电子邮件地址
住所

  • 居住区
  • 拟人
  • 地址
为了在residence表中创建新条目,通常我会根据姓名或电子邮件地址查找
PersonID
,然后插入
residence

如何使用ODataJSONAPI和单个调用实现同样的功能?可能吗?我正在使用fiddler测试服务

提前谢谢


-ap

一般来说,在OData中没有真正好的方法来做到这一点-但不要停止阅读,我将解释原因并提供一些建议


在生产过程中,您应该三思而后行的原因是插入过程的脆弱性。如果数据库中有两个人同名,会发生什么情况?如果没有人叫这个名字呢?如果你把名字拼错了怎么办?是否会为重复项抛出HTTP错误?他们是否必须重试插入?这肯定回答了我的问题。非常感谢
{
    "odata.type": "My.User",
    "ReferredBy@odata.bind": "http://.../MyService.svc/Users('haoche')",
    "BillingAddress": {
        "odata.type": "My.Address",
        "City": "Clinton",
        "Line1": "23456 Cleveland St",
        "Line2": null,
        "State": "TX",
        "ZipCode": "98052"
    },
    "DisplayName": "David Hamilton",
    "FavoriteTags": [],
    "JoinedAt": "2012-10-05T14:14:43.1229977-07:00",
    "LastSeenAt": "2012-10-05T14:14:43.1269991-07:00",
    "UserID": "davham"
}