Не удается выполнить PUT запрос
Всем привет. На беке делаю PUT запрос для обновления данных в таблице. Но получаю исключение в котором говорится, что подразумевается изменение 1 значение, но изменено 0 значений.
Контроллер:
[HttpPut("[action]")]
[AllowAnonymous]
public async Task<Result<BlackListEntity>> UpdateBlackListItem([FromBody] CreateItemBlackListCommand vm)
{
return await Mediator.Send(new UpdateItemBlackListCommand
{
ItemId = vm.ItemId,
LastName = vm.LastName,
FirstName = vm.FirstName,
MiddleName = vm.MiddleName,
CreateDate = vm.CreateDate,
PhoneNumber = vm.PhoneNumber
});
}
Handler из Mediatr:
public Task<Result<BlackListEntity>> Handle(UpdateItemBlackListCommand request, CancellationToken cancellationToken)
{
var result = _repository.UpdateAsync(new BlackListEntity()
{
CreateDate = request.CreateDate,
FirstName = request.FirstName,
LastName = request.LastName,
MiddleName = request.MiddleName,
PhoneNumber = request.PhoneNumber,
Status = request.Status
}, cancellationToken);
return result;
}
Метод UpdateAsync из репозитория :
async Task<Result<T>> IRepository<T>.UpdateAsync(T entity, CancellationToken cancellationToken, bool updateNullValues, string? include)
{
try
{
var dbEntityEntry = this.Context.Attach(entity);
dbEntityEntry.State = EntityState.Modified;
if (await this.Context.SaveChangesAsync(cancellationToken) > 0)
{
this.Context.Entry(entity).State = EntityState.Detached;
return Result.Ok(entity);
}
return Result.Fail<T>("Error while saving entity");
}
catch (Exception e)
{
this.Logger.LogError(e, "Error while saving entity");
return Result.Fail<T>("Exception while saving entity: " + e.Message);
}
}
И запрос в постмане:
{
"ItemId": "aee10cf2-5370-4c84-9c4d-df2b95b7c517",
"LastName": "LastName111",
"FirstName": "vm.FirstName11111",
"MiddleName": "vm.MiddleName11111",
"PhoneNumber": "889900",
"CreateDate": "2013-01-07T00:00:00Z"
}
Данные для запроса взял целиком из Get запроса с полуяением списка из базы, значение основных полей изменил, кроме ID. И при отправлке ошибка : ""The database operation was expected to affect 1 row(s), but actually affected 0 row(s); data may have been modified or deleted since entities were loaded. See http://go.microsoft.com/fwlink/?LinkId=527962 for information on understanding and handling optimistic concurrency exceptions." "
пАмагИтИ :)