From 424682523961f1a51fdebcde4f64849b75b9c3af Mon Sep 17 00:00:00 2001 From: evan314159 <110177090+evan314159@users.noreply.github.com> Date: Sat, 20 Sep 2025 21:23:04 +0800 Subject: Attach before updating/deleting to avoid DbUpdateConcurrencyException (#14746) --- Jellyfin.Server.Implementations/Users/UserManager.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Jellyfin.Server.Implementations/Users/UserManager.cs b/Jellyfin.Server.Implementations/Users/UserManager.cs index 3dfb14d71..d0b41a7f6 100644 --- a/Jellyfin.Server.Implementations/Users/UserManager.cs +++ b/Jellyfin.Server.Implementations/Users/UserManager.cs @@ -272,6 +272,7 @@ namespace Jellyfin.Server.Implementations.Users var dbContext = await _dbProvider.CreateDbContextAsync().ConfigureAwait(false); await using (dbContext.ConfigureAwait(false)) { + dbContext.Users.Attach(user); dbContext.Users.Remove(user); await dbContext.SaveChangesAsync().ConfigureAwait(false); } @@ -887,7 +888,8 @@ namespace Jellyfin.Server.Implementations.Users private async Task UpdateUserInternalAsync(JellyfinDbContext dbContext, User user) { - dbContext.Users.Update(user); + dbContext.Users.Attach(user); + dbContext.Entry(user).State = EntityState.Modified; _users[user.Id] = user; await dbContext.SaveChangesAsync().ConfigureAwait(false); } -- cgit v1.2.3