【发布时间】:2014-10-08 14:13:37
【问题描述】:
基本上我在后端使用 Web API 2 和实体框架编写 API。
我不确定如何处理模型上的外键。
假设我有一个 person 属性,其中包含一个 order 属性的外键。
有时客户端需要 person 属性,有时不需要。我该怎么办?
我是否应该创建 2 个方法: /api/person/1
在我看来似乎有很多方法。
我知道 queryable 属性也存在,它支持客户端使用 $extend 参数随意包含属性 - 但是如果可以避免的话,我宁愿不使用 queryable 属性。
你有什么建议?
【问题讨论】:
-
如果你需要两种不同的东西,为什么有两种方法是“可怕的很多”?你也可以传入一个标志参数来返回订单
-
为什么不总是简单地返回带有 order 属性的人,让客户按照他们的意愿去做呢?或者如果这不正确,请在您的调用中添加一个标志,如果为 true 将返回 order 属性,如果不是则不会?
-
@DavidG 谢谢。我最终使用标志来允许客户端指定是否包含属性。
-
@theDarse 我不想包含总是看到的订单,因为它会增加不必要的带宽。
标签: entity-framework rest asp.net-web-api asp.net-web-api2