We have an ASP.Net application in which the user is (in several places) allowed to make changes to an object graph over multiple postbacks, and then apply those changes when the user clicks save.
For example imagine a filter with many conditions where the user is allowed to take an existing filter and add/remove/edit conditions, and then save those changes in a single transaction when they click save. This happens over multiple postbacks (we persist the updated object graph in ViewState, however as I understand it any other persistance mechanism where we serialize the state is largely equivalent).
Our current solution to this problem involves attaching the deserialized object graph and then attempting to identify what changes were made, however this is messy, fragile and feels massively over-complicated.
Is there a simpler strategy that allows us to easily build web pages that track changes made by a user over multiple postbacks?
As an aside, we did manage to find Self-Tracking Entities which seem to perfectly solve this problem, however they are already deprecated - none of the alternative suggested technologies seem to help solve this problem.