This chapter has shown you some of the more powerful things that you can accomplish with ADO.NET and with the System.Transactions namespace. The chapter started out by showing you some of the powerful new features that have been added to the ADO.NET DataTable class, such as the ability to read and write XML and to create a DataTableReader. Next, you saw how to update data in batches and how to perform asynchronous data updates using the appropriate Begin/End methods on the SqlCommand class. Finally, the chapter concluded with a discussion of how to use the System.Transactions namespace to create transactional code that will work with any supported resource manager, such as SQL 2005, MSMQ, DTC, and so on. Having read and understood this chapter, you should feel pretty good about your ADO.NET skills and your ability to access and manipulate data using C# 2.0.