Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何在不使用EF的情况下实现补丁HTTP方法_Asp.net_Asp.net Core_Asp.net Web Api - Fatal编程技术网

Asp.net 如何在不使用EF的情况下实现补丁HTTP方法

Asp.net 如何在不使用EF的情况下实现补丁HTTP方法,asp.net,asp.net-core,asp.net-web-api,Asp.net,Asp.net Core,Asp.net Web Api,如何在不使用实体框架的情况下实现补丁HTTP方法,以便对资源应用某些部分更新?我使用dapper进行数据访问,但我不知道如何仅使用dapper实现修补程序 向ASP.net核心项目添加JSON修补程序 第一步。安装软件包 第二步。实施HttpPatch操作 [HttpPatch("update/{id}")] public Person Patch(int id, [FromBody]JsonPatchDocument<Person> personPatch) {

如何在不使用实体框架的情况下实现补丁HTTP方法,以便对资源应用某些部分更新?我使用dapper进行数据访问,但我不知道如何仅使用dapper实现修补程序

向ASP.net核心项目添加JSON修补程序

第一步。安装软件包

第二步。实施HttpPatch操作

[HttpPatch("update/{id}")]
public Person Patch(int id, [FromBody]JsonPatchDocument<Person> personPatch)
{
    Person person = _personRepository.GetById(id); // Get person object from the database via Dapper.
    
    personPatch.ApplyTo(person); //Apply the patch to that Entity. 
    
    _personRepository.Update(personDatabase); //Update your entity in the database via Dapper. 

    return personDatabase;
}
[HttpPatch(“更新/{id}”)]
公共人物补丁(int-id,[FromBody]JsonPatchDocument-personPatch)
{
Person=\u personRepository.GetById(id);//通过Dapper从数据库获取Person对象。
personPatch.ApplyTo(person);//将修补程序应用于该实体。
_Update(personDatabase);//通过Dapper更新数据库中的实体。
返回个人数据库;
}

简单例子

  • 从db\u personRepository.GetById(id)获取实体

    { “id”:1, “姓名”:“迈克尔” }

  • 将修补程序应用于实体

    [ {“op”:“replace”,“path”:“/name”,“value”:“Tony”} ]

    获取新实体

    { “id”:1, “姓名”:“托尼” }


  • 然后更新
    \u personRepository.update(personDatabase)
    中实体的所有字段


  • 如何实现“\u personRepository.Update(personDatabase)”以仅更新更改了值的字段?
    \u personRepository.Update
    可以更新所有字段。我发布了一个简单的例子,让你了解它是如何更新的。