为了不暴露我的数据库模型,我正在尝试使用DTO等效项来使我的WebAPI端点正常工作。在我的WebAPIConfig中(从Global.asax文件引用),我有以下内容:
builder.EntitySet<ProductDTO>("Products");
builder.EntitySet<Product>("ProductsDB");
产品有一个额外的字段,而ProductDTO没有该字段。
我的补丁请求目前是:
[AcceptVerbs("PATCH", "MERGE")]
public IHttpActionResult Patch([FromODataUri] int key, Delta<ProductDTO> patch)
{
我可以看到,基本上我需要将我的Delta<ProductDTO>
转换为Delta<Product>
,但是我没有看到Delta类中任何允许我设置其底层EntityType实例的方法。
有人有什么建议吗?
Delta.GetChangedPropertyNames
都会返回我的 DTO 中所有属性,无论它们是否已更改。您能帮忙吗?这对您来说是如何工作的? - user2363071