From Rockford Lhotka's Expert C# 2008 and VB 2008 Business Objects books
This is the purpose behind the EditableRootListBase base class in version 2.1 and higher.
You should be aware that this class is primarily intended to support in-place grid editing with data binding, but it can be used outside a data binding scenario as well (you just need to manually call the SaveItem() method to save individual root objects as appropriate).
Rocky