I have a situation when I cant just update original record in database, but instead make a new record, copy all fields from old and apply changes to new one. (something like
You may also want to look into PLINQO. It has the ability to clone, detach, attach, serialize to xml, serialize to binary, many to many relationships, etc... all right out of the box so you don't have to deal with these features that should've been included in the first place.
http://www.plinqo.com/