我没有公开我的数据库模型,而是试图让我的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 中存在问题