There are a few projects out there that make the interaction between the client and the server easier as far as it concerns saving an entire object graph.
Here are two you'd want to look at:
Both the projects above take recognize the disconnected entities when it's returned to the server, detect and save the changes, and return to the client affected data.