У меня есть приложение AngularJS + MVC 5 + Web API 2, которое позволяет пользователям управлять коллекциями объектов в браузере и сразу фиксировать все изменения при нажатии кнопки «Сохранить». По мере внесения изменений к объектам JavaScript добавляется одно или несколько свойств: IsAdded, IsUpdated, IsRemoved. Свойства проверяются на стороне сервера, чтобы определить, что делать при сохранении модели.
Модель обслуживается с использованием Json.NET через веб-API, а базовый класс:
public class CollectionItemViewModel : ICollectionItem
{
public bool IsAdded { get; set; }
public bool IsUpdated { get; set; }
public bool IsRemoved { get; set; }
}
Это прекрасно работает, но добавляет бесполезности моему сериализованному JSON. Я могу не сериализовать эти три свойства с помощью ShouldSerialize, но это также предотвращает их десериализацию.
public bool ShouldSerializeIsAdded()
{
return false;
}
public bool ShouldSerializeIsUpdated()
{
return false;
}
public bool ShouldSerializeIsRemoved()
{
return false;
}
Можно ли десериализовать, но не сериализовать определенные свойства с помощью Json.NET?