Типичный метод действия для сохранения изменений, отправленных из breeze.client:
[HttpPost]
public SaveResult SaveChanges(JObject saveBundle) {
return _contextProvider.SaveChanges(saveBundle);
}
Я заметил, что у breeze на стороне клиента есть функция обратного вызова для запроса POST, которая ожидает, что структура возвращаемого значения будет конкретной:
success: function (httpResponse) {
var data = httpResponse.data;
httpResponse.saveContext = saveContext;
var entityErrors = data.Errors || data.errors;
if (entityErrors) {
handleHttpError(deferred, httpResponse);
} else {
var saveResult = that._prepareSaveResult(saveContext, data);
deferred.resolve(saveResult);
}
},
В моем случае я не хочу использовать _contextProvider.SaveChanges(saveBundle);
для сохранения изменений; Я хочу делать это по-своему.
Можно ли вернуть произвольные структурированные данные из метода действия SaveChanges? Или, например, что произойдет, если мы будем использовать другую ORM или базу данных NoSQL? Как бы мы реализовали конечную точку API SaveChanges?