Dataset—A dataset gets a copy of a table from the table adapter and keeps the copy of the table in memory. Instead of working directly with the database, the application works with the dataset, modifying rows, deleting rows, adding new rows, etc. Then, the dataset can instruct the table adapter to write the changes back to the database.