asp.net web api-OData web api修补程序请求(带DTO)



我没有公开我的数据库模型,而是试图让我的WebAPI端点与DTO等价物一起工作。在Global.asax文件中引用的WebAPIConfig中,我有:

builder.EntitySet<ProductDTO>("Products");
builder.EntitySet<Product>("ProductsDB");

其中Product有一个ProductDTO没有的额外字段。

我的补丁请求当前为:

[AcceptVerbs("PATCH", "MERGE")]
public IHttpActionResult Patch([FromODataUri] int key, Delta<ProductDTO> patch)
{

我可以看到,本质上我需要将Delta<ProductDTO>转换为Delta<Product>,但在Delta类中看不到任何允许我设置其底层EntityType实例的方法。

有人有什么建议吗?

这个问题与您的问题非常相似,请参考:

通过ViewModel的Microsoft Odata api在PATCH 中存在问题

最新更新