У меня очень простое приложение служб данных WCF, и я выполняю некоторые основные операции CRUD. У меня есть ChangeInterceptor в наборе сущностей, который меняется, но объект в ChangeInterceptor - это текущее состояние в базе данных, а не то, что отправлено в HTTP PUT. Есть ли способ проверить свойства объекта перед его сохранением?Могу ли я проверить объект перед сохранением изменений?
Вот мой ChangeInterceptor:
[ChangeInterceptor("People")]
public void OnChangePerson(Person personChanging, UpdateOperations updateOperations) {
switch (updateOperations) {
case UpdateOperations.Change:
// personChanging is the database version here, not the changed version.
break;
default:
break;
}
}
Вот мой клиентский код (Jquery):
var data = {
FirstName: "NewFN",
LastName: "NewLN"
};
$.ajax({
type: "PUT",
url: serviceUrl + "/People(" + personID + ")",
contentType: "application/json",
dataType: "json",
data: JSON.stringify(data),
success: function (data) {
alert("Success!");
},
error: function (error) {
alert("An error occured");
}
});
Вот это JSON отправляется на сервер:
Вот сообщение ChangeInterceptor, когда сообщение получено:
Я загрузил код этого проекта здесь: http://andyjmay.com/test/2921612/ODataTest.zip
+1 для включения источника. – jfar