If you need to create a diff patch between two .Net objects of the same type you can check out my object-diff-dotnet repo on github. Useful for cases such as: Retrieving user changes to a settings object and saving them to apply to another settings object. Pushing a default product