0
У меня есть следующий метод Odata метод asp mvc solution, этот метод на 100% создан мастером только для моего учебного случая.Как правильно использовать Patch reqvest с odata
[AcceptVerbs("PATCH", "MERGE")]
public async Task<IHttpActionResult> Patch([FromODataUri] long key, Delta<SchoolChildrens> patch)
{
Validate(patch.GetEntity());
if (!ModelState.IsValid)
{
return BadRequest(ModelState);
}
SchoolChildrens schoolChildrens = await db.SchoolChildrensSet.FindAsync(key);
if (schoolChildrens == null)
{
return NotFound();
}
patch.Patch(schoolChildrens);
try
{
await db.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!SchoolChildrensExists(key))
{
return NotFound();
}
else
{
throw;
}
}
return Updated(schoolChildrens);
}
У меня есть следующий код Javascript для вызова этого метода:
self.updateItem = function (data) {
var student = ko.toJS(data);
$.ajax({
url: '/odata/SchoolChildrens(' + student.Id + ')',
data: JSON.stringify(student),
type: 'PATCH',
success: function() {
},
error: function() {
},
xhr: function() {
return window.XMLHttpRequest == null || new window.XMLHttpRequest().addEventListener == null ? new window.ActiveXObject("Microsoft.XMLHTTP") : $.ajaxSettings.xhr();
}
});
};
Мой рекорд никогда не обновляется с помощью этого метода. как использовать его правильно? Как я должен отправить Delta?