2016-09-16 83 views
0

給定一個數據庫表Person,其中包含3個colums Id,Firstname和Lastname。用於Web API的ASP.NET MVC Core控制器PATCH方法

ASP.NET Core Web API MVC控制器方法PATCH(僅修改姓氏)如何看起來像使用真正的DbContext時的樣子。

我不知道如何實現它(並且找不到教程),所以我結束了下面的代碼,但不知道如何處理。

[HttpPatch("{id}")] 
public void Patch(int id, [FromBody]Person value) 
{ 
    //is this the correct method signature? 
    // what to do with dbContext in here? 
} 
+0

你能分享你的代碼嗎? – Sampath

+0

我在沒有線索的情況下實現了該代碼,因爲我無法找到關於該主題的教程。所以分享我的代碼是沒用的,因爲我不知道如何寫代碼。我編輯了一個刪除dbContext.SaveChanges部分的問題。欲瞭解更多信息,請看看:http://stackoverflow.com/questions/39514203/problems-implementing-a-simple-asp-net-core-web-api-service-personexample – monty

+1

如果你需要從SO社區,那麼你必須花一些時間處理你的一系列問題,並根據相關的順序逐一確定這些項目。然後把這些東西一次一個地放在一起。那個時候你會有一個解決方案。否則這將是另一個問題沒有答案。很確定。 – Sampath

回答

1

因此,相應於REST準則的PATCH請求應該提供部分修改資源的能力,只用請求中給出的屬性和值。如果您對如何在數據庫中部分更改項目感到困惑 - 有一個簡單的答案。只更新那些受PATCH請求影響的DB字段:)。

NuGet中提供了一些庫,可以幫助您在API中實現e PATCH。例如,查看JsonPatch。從控制器到數據庫有一個很好的例子。

UPD: Another one library

+0

非常感謝。 – monty

0

如果你已經實現了客戶端邏輯,你可以使用SimplePatch如何在鏈接中使用)。

聲明:我是該項目的作者。