How can we use the Entity Framework's Unit Of Work implementation across stateless tiers?


The Unit Of Work pattern as described by Martin Fowler in PoEAA* (page 184) helps you keep track of changes to objects so the changes can be completed easier and optionally within the context of a single transaction. Entities created with the Entity Framework are already capable of keeping track of their changes and the DataContext is capable of persisting those changes ... but only if you still have the DataContext that populated the entities. Once you get rid of the context (like when the entities are sent to a different tier to be changed), persisting the changes to the entities (like when they come back) becomes much less straight forward. What is the best way to use EF in this way?