在使用 _unitOfWorkManager 提交之前更新新实体

Update a new entity before committing with _unitOfWorkManager

在我的服务 (class MyService : AbpServiceBase) 中,我正在尝试执行以下操作:

我得到的错误:

Database operation expected to affect 1 row(s) but actually affected 0 row(s)

[UnitOfWork(isTransactional: false)]
public async Task<Guid> CreateAsync(InfoDto myInfo)
{
    int? tenantId = _unitOfWorkManager.Current.GetTenantId();
    objInfo = await _infoRepository.InsertAsync(myInfo);
    newObjId = CreateNewIdentifier(tenantId);

    objInfo.ExternalIdentifier = newObjId;
    await _infoRepository.UpdateAsync(objInfo);
    return objInfo.Id;
}

您不需要 UpdateAsyncobjInfo 已被跟踪。

[UnitOfWork(isTransactional: false)]
public async Task<Guid> CreateAsync(InfoDto myInfo)
{
    int? tenantId = _unitOfWorkManager.Current.GetTenantId();
    objInfo = await _infoRepository.InsertAsync(myInfo);
    newObjId = CreateNewIdentifier(tenantId);

    objInfo.ExternalIdentifier = newObjId;
    // await _infoRepository.UpdateAsync(objInfo); // Remove this
    return objInfo.Id;
}

一旦你知道答案,它总是那么简单......所需要的只是一个注释。希望其他人也能从中受益。

[工作单元(IsDisabled = true)]