Check out this brief whitepaper by Chris Szabo on a more elegant way of determining if the data encapsulated by an object is dirty or not.
Typical practice is to always save the object, dirty or not, which can be wasteful in a high-traffic scenario. Alternatively, many developers maintain an IsDirty flag, which does the job, but isn't that elegant. It also doesn't account for data that has "changed" but might actually be the same, such as when a user enters a value into a field that is bound to an object, and then undoes the operation.
http://www.netfusioncorporation.com/Downloads/2008/Intelligent%20Data%20Persistence.pdf
- Tim Medora