I mentioned 'DataAdapter', which is the base class for the SqlDataAdapter.
DataAdapters are designed to be the intermediary between the DataSet and the data within the data store. ADO.NET is designed to be disconnected, so the adapter is required to send the correct commands to the connection based on changes made to the DataSet.
Obviously the process for this may differ between data store technologies (be it XML, SQL, Oracle, OLEDB, whatever), hence the base class and the specialised classes.
All DataAdapter classes implement the IDataAdapter interface (
http://tinyurl.com/3l46ca) which has an Fill and Update method (as well as others). Fill will pull data from the DB, Update will post changes back to the DB.
In terms of the TableAdapter, I am unfamiliar with this, I know they introduced these Fx2.0, but I have never used them so my knowledge is limited. However, a look at MSDN (
http://tinyurl.com/42pf28) shows that they are not much more than an extension to the DataAdapter class to provide some freedom in Getting/Setting data..
As for the can of worms, data access is a HUGE topic, technologies aside, there are/can be major architectural issues both on the client and server..
I hope this helps.
Rob
http://robzyc.spaces.live.com