Ich arbeite auf asp.net Core WebAPi und EF Core, und möchte "Update" Operation (teilweise bearbeiten Einheit) implementieren. Ich suchte den richtigen Weg, um damit umzugehen, und sah, dass ich JsonPatch verwenden sollte. das Problem ist, dass ich nur durch meine DTOs API aussetzen bin, und wenn ich jsonPatch wie:PATCH bei der Arbeit mit DTO
public AccountDto Patch(int id, [FromBody]JsonPatchDocument<AccountDto> patch)
dann brauche ich den Patch auf DTO anzuwenden, und ich kann es auf dem Modell Einheit nicht gelten, ohne eine neue Entität zu erstellen.
Ich lese auch über Odata.Delta, aber es funktioniert immer noch nicht auf asp.net Kern, und außerdem - ich glaube nicht, dass es eine eingebaute Lösung für die Arbeit mit dto (Ich fand this example, die helfen kann, wenn Odata für Core wird verfügbar sein)
Also, für jetzt - sollte ich POST und senden DTO mit einer Liste von geänderten Eigenschaften in der Abfrage (wie ich sah here), Oder - gibt es elegantere Lösung?
Danke!
Beachten Sie, dass wenn Sie es verwenden, Sie ModelState nicht wie 'patch.ApplyTo (accountToTestValidation, ModelState);' – arielorvits
, aber ich kann immer noch manuell überprüfen die Patch-Objekt-Validierung von 'patch.ApplyTo (gepatcht); TryValidateModel (gepatcht); ' – arielorvits