Qual è il problema?Come utilizzare Delta <T> da OData Web API Microsoft ASP.NET con codice First JsonMediaTypeFormatter
Sto tentando di abilitare l'applicazione patch nella mia app API web ASP.net. Sto usando il primo framework di entità del codice.
devo metodo la seguente intestazione, che è possibile impostare un punto di interruzione e sarà colpito:
[AcceptVerbs("PATCH")]
public async Task<HttpResponseMessage> Patch(long appId, long id, Delta<SimpleFormGroup> formGroup)
Tuttavia quando chiamo formGroup.Patch (entità), non vengono apportate modifiche al mio entità. Se metto il seguente nella finestra immediata:
formGroup.GetChangedPropertyNames()
Quindi questa raccolta è vuota, che sembra errata.
Cosa ho provato?
ho riferisco ai seguenti esempi
http://techbrij.com/http-patch-request-asp-net-webapi http://www.strathweb.com/2013/01/easy-asp-net-web-api-resource-updates-with-delta/
Sembra essere un problema con il JSON MediaType Formatter non saper costruire correttamente l'oggetto Delta, però nel 2 ° collegamento filip sembra suggerire che dovrebbe funzionare senza oDataMediaTypeFormatter.
Ho iniziato la linea di tentativo di serializzare il mio modello in rappresentazione EDMX, quindi da lì estrarre il CSDL in modo da poter creare un oDataMediaTypeFormatter, ma ho anche riscontrato un intoppo, inoltre sembra un po 'eccessivo.
Se qualcuno potesse far luce su questo sarebbe molto apprezzato. Fammi sapere se sono necessarie ulteriori informazioni.
EDIT:
Ecco la definizione di classe per SimpleFormGroup:
public class SimpleFormGroup
{
public int LastUpdate;
public string Identifier;
public string Title;
public int DisplayOrder;
}
Ed ecco i dati che io mando:
Content-Type: 'application/json'
{ "DisplayOrder" : "20 }
Grazie, Pete
È possibile aggiungere la definizione di classe per SimpleFormGroup e JSON che si sta inviando nella richiesta di PATCH? –
Vedi sopra ... In questo momento ho trovato una soluzione alternativa, ma sarei interessato anche a sentire i tuoi pensieri –
Questo non è valido JSON, considerando la citazione a sinistra del 20. C'è una citazione di chiusura in giro il valore o nessuna quotazione di apertura? – Rich