嘿伙计们,我很好奇如何在数据库中一次只更新一列。当我运行诸如邮递员或小提琴之类的东西来查询放入我的数据库时。如果我只包含一个字段,它会将所有其他字段 = 设置为 null。无论如何,当我查询 PUT 时,我是否可以将其他字段留空,并且它只会更改我要求 PUT 更新的一个字段?抱歉,如果我的解释不好,我是使用 API 的新手。
这是我的 PUT 方法(基本脚手架):
public IHttpActionResult PutUser(int id, User user)
{
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
if (id != user.Id)
{
return BadRequest();
}
db.Entry(user).State = EntityState.Modified;
try
{
db.SaveChanges();
}
catch (DbUpdateConcurrencyException)
{
if (!UserExists(id))
{
return NotFound();
}
else
{
throw;
}
}
return StatusCode(HttpStatusCode.NoContent);
}
当我想更新时,只说名字,并且数据库中已经有名字和姓氏。在 PUT 方法之后,姓氏将设置为空。所以我调试并注意到它在参数中接收的用户已经将姓氏设置为空。任何建议将不胜感激!