질문:
여러 열이 포함된 데이터베이스 테이블이 있고 레코드의 특정 열 값을 업데이트한다고 가정해 보겠습니다.
테이블:
사용자
列名 |
---|
UserId |
UserName |
Password |
EmailAddress |
코드:
<code class="language-csharp">public void ChangePassword(int userId, string password) { // 更新密码的代码... }</code>
정답:
특정 UserId
사용자의 비밀번호 필드만 업데이트하려면 DbContext의 Attach
및 Property
메서드를 사용할 수 있습니다.
EF Core 7.0 이전 버전의 경우:
<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>
EF Core 7.0 이상:
<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.SetAttached(user); db.Entry(user).Property(x => x.Password).IsModified = true; db.SaveChanges(); } }</code>
참고: EF Core 7.0 이상에서는 Attach
메서드의 이름이 SetAttached
으로 변경되었습니다. 위 코드는 두 가지 버전의 구현 방법을 보여줍니다. EF Core 버전에 따라 적절한 코드를 선택하세요.
위 내용은 Entity Framework에서 단일 필드를 업데이트하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!