数据大概率更新失败的情况 返回
SqlSugar
沟通中
2
159
哈林世纪 发布于1个月前
悬赏:20 飞吻
//保存角色存档数据 public async Task<bool> SaveCharacterSaveData(string UserName, string CharName, byte[] SaveData) { var userEntity = await _userManager.GetValidUser(UserName); if (userEntity == null) { return false; } var CharEntity = await _characterRepository.FindAsync(x => x.UserId == userEntity.Id && x.CharName == CharName); if (CharEntity == null) { return false; } CharEntity.CharSaveData = SaveData; if (!await _characterRepository.UpdateAsync(CharEntity)) { throw new UserFriendlyException(details: "角色存档失败", message: "更新角色数据失败"); } return true; } //保存角色肖像信息数据 public async Task<bool> SaveCharacterInfo(string UserName, string CharName, int CharClass, int CharLevel, int CharExp, byte[] CharPortrait) { var userEntity = await _userManager.GetValidUser(UserName); if (userEntity == null) { return false; } var CharEntity = await _characterRepository.FindAsync(x => x.UserId == userEntity.Id && x.CharName == CharName); if (CharEntity == null) { return false; } CharEntity.CharPortrait = CharPortrait; CharEntity.CharClass = CharClass; CharEntity.CharLevel = CharLevel; CharEntity.CharExp = CharExp; await _characterRepository.UpdateAsync(CharEntity); return true; }
上面是我实现的两个函数,当API 请求保存数据时,SaveCharacterSaveData 的更新会很大概率没有写入到数据。但是返回是成功的。
SaveCharacterSaveData 先被调用 接着马上 SaveCharacterInfo 会被调用。SaveCharacterInfo 的更新每次都能成功,SaveCharacterSaveData 的数据越大失败的情况越大
我使用的 ABP 框架, 封装的仓储
热忱回答(2)
-
哈林世纪 VIP01个月前
//保存角色存档数据 public async Task<bool> SaveCharacterSaveData(string UserName, string CharName, byte[] SaveData) { var userEntity = await _userManager.GetValidUser(UserName); if (userEntity == null) { return false; } var CharEntity = await _characterRepository.FindAsync(x => x.UserId == userEntity.Id && x.CharName == CharName); if (CharEntity == null) { return false; } CharEntity.CharSaveData = SaveData; _characterRepository._Db.Updateable(CharEntity).UpdateColumns(x => x.CharSaveData).ExecuteCommand(); //if (!await _characterRepository.UpdateAsync(CharEntity)) //{ // throw new UserFriendlyException(details: "角色存档失败", message: "更新角色数据失败"); //} return true; }
我改成原生的语句执行也是一样的结果
0 回复 -
fate sta VIP01个月前
不清楚你的业务,有问题抽像成DEMO
0 回复