Here is another FAQ I got about DLinq at PDC. How does DLinq handle changes to objects? How is it similar to or different from ADO.NET DataAdapter?
Here is a quick overview of what goes on under the covers at a conceptual level:
Before objects are modified:
After SubmitChanges() is called:
Of course, this is a simplified description of what needs to be taken care of in the implementation. A couple of notable things are:
In case of DataAdapter (required for persisting changes made in DataSet back to the database), you will need to do the following:
So DLinq does a lot of work for you and simplifies your life greatly. After all, DLinq is about raising the abstraction level and bringing it on par with what modern OO languages provide.