Here's a free chapter I found from ADO.NET - Core Reference,Microsoft:
boy, this chapter rocks! it's more advanced than I first thought. here's an excerpt:
"You now know the basics of updating a database with the changes stored in a DataSet. If you’re generating your own updating logic—whether in the form of INSERT, UPDATE, and DELETE queries or stored procedure calls—you’ll need to know more than just the basics.
For example, how do you handle concurrency so that you don’t accidentally overwrite another user’s changes? How do you handle null values in your concurrency checks? How do you submit updates in a transaction? What part does the TableMappings collection for a DataAdapter play when submitting updates?
Would you like to know how to accomplish these tasks?