Option 1First, you can serialize the BO to disk and then deserialize it when you want to use it again. In this scenario you will not actually execute the "Save" until you get back to a location where the data source can be reached.
Option 2Use a local database and then sync when the primary database is accessible. For example, you could use SQL Express (server based) or SQL Anywhere (embedded no server) on the client machine while it is "disconnected" from the primary data source. Once the primary database is then accessible again, you could then synchronize it with the clients information. This is something that would be a function of your application, not the framework.
Option 3If your client machine will always have an internet connection, you could use Web Services or our Enterprise Server to always talk real-time to the primary database itself.
I looked into these issues in the forum. Any clues?