1

データベースで一度に 1 つの列だけを更新する方法に興味があります。postman や fiddle などを実行してデータベースへの Put をクエリするとき。1 つのフィールドのみを含めると、他のすべてのフィールド = が null に設定されます。とにかく、PUT にクエリを実行するときに他のフィールドを空白のままにして、PUT に更新を要求している 1 つのフィールドのみを変更することはできますか? 私の説明が良くない場合は申し訳ありませんが、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 メソッドの後、姓は null に設定されます。そのため、デバッグしたところ、パラメータに取り込んでいるユーザーの姓がすでに null に設定されていることに気付きました。どんなアドバイスでも大歓迎です!

4

1 に答える 1