DataReader Vs DataSet?
DataReader
- The ADO.NET DataReader is used to retrieve read-only(cannot update data back to datasource) and forward-only(cannot read backward/random) data from a database.
 - Using the DataReader increases application performance and reduces system overheads. This is due to one row at a time is stored in memory.
 - You create a DataReader by calling Command.ExecuteReader after creating an instance of the Command object.
 - This is a connected architecture: The data is available as long as the connection with database exists.
 - You need to open and close the connecton manually in code
 
DataSet
- The DataSet is a in-memory representation of data.
 - It can be used with multiple data sources. That is A single DataSet can hold the data from different data sources holdng data from different databases/tables.
 - The DataSet represents a complete set of data including related tables, constraints, and relationships among the tables.
 - The DataSet can also persist and reload its contents as XML and its schema as XML Schema definition language (XSD) schema.
 - The DataAdapter acts as a bridge between a DataSet and a data source for retrieving and saving data.
 - The DataAdapter helps mapping the data in the DataSet to match the data in the data source.
 - Also, Upon an update of dataset, it allows changing the data in the data source to match the data in the DataSet.
 - No need to manually open and close connection in code.
 - Hence, point (8) says that it is a disconnected architecture. Fill the data in DataSet and that's it. No connection existence required
 
No comments:
Post a Comment