Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengemas kini Medan Tunggal (Kata Laluan) dalam Rangka Kerja Entiti?

Bagaimana untuk Mengemas kini Medan Tunggal (Kata Laluan) dalam Rangka Kerja Entiti?

Patricia Arquette
Patricia Arquetteasal
2025-01-19 07:00:11496semak imbas

How to Update a Single Field (Password) in Entity Framework?

Menggunakan Rangka Kerja Entiti untuk mengemas kini satu medan

Artikel ini menerangkan cara mengemas kini medan tertentu (kata laluan) dalam jadual Users menggunakan Rangka Kerja Entiti. Berikut ialah versi kaedah yang dipertingkatkan yang disediakan oleh Ladislav:

  1. Buat objek entiti: Buat contoh kelas User dan tetapkan sifat Id dan Passwordnya kepada nilai yang anda mahu kemas kini.

  2. Buka DbContext: Gunakan blok using untuk membuat contoh kelas konteks MyEfContextName, pastikan ia mengeluarkan sumber dengan betul.

  3. Entiti tambahan: Panggil kaedah Users Attach DbSet, menghantar objek User yang anda buat dalam langkah 1. Ini akan menambahkan entiti pada penjejak perubahan konteks, walaupun jika ia tidak ditanya pada asalnya.

  4. Ubah suai atribut: Gunakan kaedah Entry dan Property untuk mengakses atribut Password dan tetapkan atribut IsModifiednya kepada true. Ini memberitahu EF bahawa nilai telah berubah dan perlu dikemas kini.

  5. Simpan perubahan: Panggil kaedah SaveChanges pada konteks untuk mengekalkan perubahan pada pangkalan data.

Berikut ialah kod yang dikemas kini:

<code class="language-csharp">public void ChangePassword(int userId, string password)
{
    var user = new User { Id = userId, Password = password };
    using (var db = new MyEfContextName())
    {
        db.Users.Attach(user);
        db.Entry(user).Property(x => x.Password).IsModified = true;
        db.SaveChanges();
    }
}</code>

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Medan Tunggal (Kata Laluan) dalam Rangka Kerja Entiti?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn