Entity Framework を使用して単一フィールドを更新する
この記事では、Entity Framework を使用して Users
テーブルの特定のフィールド (パスワード) を更新する方法について説明します。以下は、Ladislav によって提供されたメソッドの改良版です:
エンティティ オブジェクトの作成:
User
クラスのインスタンスを作成し、その Id
プロパティと Password
プロパティを更新する値に設定します。
DbContext を開く:
using
ブロックを使用して MyEfContextName
コンテキスト クラスのインスタンスを作成し、リソースが正しく解放されるようにします。
追加エンティティ:
Users
DbSet の Attach
メソッドを呼び出し、手順 1 で作成した User
オブジェクトを渡します。これにより、最初にクエリされなかった場合でも、エンティティがコンテキストの変更トラッカーに追加されます。
属性の変更:
Entry
メソッドと Property
メソッドを使用して Password
属性にアクセスし、その IsModified
属性を true
に設定します。これにより、値が変更されたため更新する必要があることが EF に伝えられます。
変更を保存:
コンテキストで SaveChanges
メソッドを呼び出して、データベースへの変更を永続化します。
更新されたコードは次のとおりです:
<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>
以上がEntity Framework の単一フィールド (パスワード) を更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。