Я работаю над основным ядром ASPP и базовым ядром EF и хочу реализовать операцию «обновления» (частично редактировать объект). Я искал правильный способ справиться с этим и увидел, что я должен использовать jsonPatch. Проблема в том, что я разоблачить только DTOs через мой API, и если я использую jsonPatch как:PATCH при работе с DTO
public AccountDto Patch(int id, [FromBody]JsonPatchDocument<AccountDto> patch)
затем нужно применить патч на DTO, и я не могу применить его на модели объекта, без создания нового объекта.
Я также читал об Odata.Delta, но он все еще не работает на ядре asp.net, и более того - я не думаю, что у него есть встроенное решение для работы с dto (я нашел this example, что может помочь, когда Odata для ядра будет доступно)
Итак, на данный момент - следует использовать POST и отправлять DTO со списком измененных свойств в запросе (как я видел here), Или - есть более элегантное решение?
Спасибо!
Обратите внимание, что если вы используете его так, вы не можете использовать ModelState как «patch.ApplyTo (accountToTestValidation, ModelState); – arielorvits
, но я все еще могу вручную проверить исправленную проверку объекта на 'patch.ApplyTo (исправлено); TryValidateModel (исправлено); ' – arielorvits