odata中的补丁是什么用途? 补丁如何工作?
我找到了许多odata的例子,但我不能理解补丁哪种情况我可以使用补丁。 以下是补丁的示例
Partial Updates (PATCH requests)
public HttpResponseMessage PatchProduct(int id, Delta<Product> product)
{
Product dbProduct = _db.Products.SingleOrDefault(p => p.ID == id);
if (dbProduct == null)
{
throw new HttpResponseException(HttpStatusCode.NotFound);
}
product.Patch(dbProduct);
_db.SaveChanges();
return Request.CreateResponse(HttpStatusCode.NoContent);
}
答案 0 :(得分:1)
PUT请求具有替换全部或全部更新的语义,这意味着即使只有一个子集已经更改,您也必须发送所有属性。这是PATCH的用武之地,PATCH允许客户端仅在线路上发送修改后的属性,基本上允许部分更新。
鉴于此,我们只需从数据库中检索产品,然后调用Patch将请求的更改应用于数据库中的实体。完成后,我们调用SaveChanges将更改推送到数据库。