DATA SET | DATA READER |
---|---|
•The DataSet class in ADO.Net operates in an entirely disconnected nature. | •DataReader is a connection oriented service. |
•DataSet is a collection of in-memory tables. | •DataReader is used to retrieve read-only (cannot update/manipulate data back to datasource) and forward-only (cannot read backward/random) data from a database. |
•DataSet releases the data after loading all the data in memory. | •DataReader fetches the records from database and stores in the network buffer and gives whenever requests. |
•DataSet fetches all the rows at a time i.e. it fetches all data from the datasource at a time to its memory area. | •DataReader is like a forward only recordset. It fetches one row at a time so very less network cost compare to DataSet. |
•There is more system overheads in DataSet as it fetches all the data from the datasource at a time in memory. | •As one row at a time is stored in memory in DataReader it increases application performance and reduces system overheads. |
•In DataSet we can move back and forth and fetch records randomly as per requirement. | •As DataReader is forward only, we can’t fetch random records as we can’t move back and forth. |
•DataSet can fetch data from multiple tables. | •DataReader fetches data from a single table. |
•Relationship between multiple tables can be maintained in DataSet. | •As DataReader can have data from a single table so no relationship can be maintained. |
•Transactions are possible in DataSet | •DataReader is read only so no transaction like insert, update and delete is possible |
•DataSet is a disconnected architecture that automatically opens the connection, fetches the data into memory and closes the connection when done. | •DataReader is a connected architecture: The data is available as long as the connection with database exists. |
•DataSet is a bulky object that requires lot of memory space as compared to DataReader . | •DataReader is a lightweight object that requires less memory space as compared to DataSet. |
•DataSet can be serialized and represented in XML so easily passed around to other tiers. | •DataReader can’t be serialized. |
•DataSet automatically handles the connection. | •DataReader requires connection to be open and close manually in code. |
•DataSet is best suited where there is possibility of manipulation on the data. | •DataReader will be the best choice where we need to show the data to the user which requires no manipulation. |
•Since DataSet can be serialized it, can be used in wcf services and web service that will return retrieved data. | •DataReader can’t be serialized so can’t be used in wcf services and web services. |
•When you need to navigate through the data multiple times then DataSet is better choice e.g. we can fill data in multiple controls | •But DataReader can only be read once so it can be bound to a single control and requires data to be retrieved for each control. |
Download PowerPoint File (Theory File)
https://www.mediafire.com/file/pq40k7zsazzepxi/DataSet_VS_DataReader.pptx/file
No responses yet