首页 > 其他分享 >EF Core 新增数据后立即修改该条数据

EF Core 新增数据后立即修改该条数据

时间:2022-12-06 17:46:35浏览次数:43  
标签:Core 新增 EF 该条 model flowDefines 数据 Id

 

Abp.Core 的方法,是自带事务的,当存在同一个方法新增一条数据后又再次修改词条数据,则会提示异常,不存在此条数据

因为新增还没有提交,数据库中是不存在此条数据的,所以需要,提交一次事务即可

/// <summary>
/// 新增信息
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public async Task<JsonResultModel> CreateInfo(CreateFlowInfoDto input)
{
FlowInfo model = ObjectMapper.Map<FlowInfo>(input);

//新增

model.Id = await this.Repository.InsertAndGetIdAsync(model);

if (string.IsNullOrWhiteSpace(model.Id.ToString()))
{
     return new JsonResultModel() { Message = $"操作失败", Success = false };
 }
//新增流程Json表
FlowDefines flowDefines = new FlowDefines() { FlowInfoId = model.Id, JsonRemark = input.JsonRemark };
flowDefines.Id = await this._flowDefinesRepository.InsertAndGetIdAsync(flowDefines);

//反写字段Id

if (!string.IsNullOrWhiteSpace(model.Id.ToString()))
{
       //由于ABP.core 方法自带事务,需要先提交之前的事务,才可操作修改,否则提示不存在此数据
        CurrentUnitOfWork.SaveChanges();
        await this.Repository.UpdateAsync(model.Id, async entity => { entity.FlowDefinesId = flowDefines.Id; });
}

     return new JsonResultModel() { Message = $"操作成功", Success = true };
}

标签:Core,新增,EF,该条,model,flowDefines,数据,Id
From: https://www.cnblogs.com/liaer/p/16955979.html

相关文章