Information About

Ado.net




is a part of .NET Framework 3.0 ]]

ARCHITECTURE


ADO.NET consists of two primary parts:


Data provider


These classes provide access to a data source, such as a Microsoft SQL Server or Oracle Database . Each data source has its own set of provider objects, but they each have a common set of utility classes:

  • for command objects.

  • Command : Used to perform some action on the data source, such as reading, updating, or deleting relational data.

  • Parameter : Describes a single parameter to a command. A common example is a parameter to a stored procedure.

  • DataAdapter : A bridge used to transfer data between a data source and a DataSet object (see below).

  • DataReader : A class used to efficiently process a large list of results one record at a time.



DataSets


DataSets objects, a group of classes describing a simple in-memory Relational Database , were the star of the show in the initial release (1.0) of the Microsoft .NET Framework . The classes form a containment hierarchy:

  • A DataSet object represents a Schema (either an entire database or a subset of one). It can contain tables and relationships between those tables.

  • --- A DataTable object represents a single table in the database. It has a name, rows, and columns.


  • -- A DataView object "sits over" a DataTable and sorts the data (much like a SQL " Order By " clause) and filters the records (much like a SQL " Where " clause) if a filter is set. An in-memory index is used to facilitate these operations. All DataTables have a default filter, while any number of additional DataViews can be defined, reducing interaction with the underlying database and thus improving performance.



  • - A DataColumn represents a column of the table, including its name and type.



  • - A DataRow object represents a single row in the table, and allows reading and updating of the values in that row, as well as retrieving any rows that are related to it through a primary-key foreign-key relationship.



  • - A DataRowView represents a single row of a DataView the distinction between a DataRow and DataRowView is important when Iterating over a result set.

  • --- A DataRelation is a relationship between tables, such as a primary-key foreign-key relationship. This is useful for enabling DataRow's functionality of retrieving related rows.

  • --- A Constraint describes an enforced property of the database, such as the uniqueness of the values in a primary key column. As data is modified any violations that arise will cause exceptions.


A DataSet is populated from a database by a DataAdapter whose Connection and Command properties have been set. However, a DataSet can save its contents to XML (optionally with an XSD schema), or populate itself from XML, making it exceptionally useful for web services, distributed computing, and occasionally-connected applications.


ADO.NET AND VISUAL STUDIO.NET


Functionality exists in the Visual Studio .NET IDE to create specialized subclasses of the DataSet classes for a particular database schema, allowing convenient access to each field through strongly-typed properties. This helps catch more programming errors at compile-time and makes the IDE's Intellisense feature more useful.


ENTITY FRAMEWORK

See Also: ADO.NET Entity Framework


ADO.NET Entity Framework is a set of data access APIs for the Microsoft .NET Framework , targeting the version of ADO.NET that ships with .NET Framework 3.5 . However, it will be released as an out-of-band update after both .NET Framework 3.5 and Visual Studio 2008 has shipped. An Entity Framework ''Entity'' is an object which has a key representing the primary key of a logical datastore entity. A conceptual ''Entity Data Model'' ( Entity-relationship Model ) is mapped to a datastore schema model. Using the Entity Data Model, the Entity Framework allows data to be treated as entities independently of their underlying datastore representations.

''Entity SQL'' is a SQL -like language for querying the Entity Data Model (instead of the underlying datastore). Similarly, Linq extension ''Linq-to-Entities'' provides typed querying on the Entity Data Model. Entity SQL and Linq-to-Entities queries are converted internally into a ''Canonical Query Tree'' which is then converted into a query understandable to the underlying datastore (e.g. into SQL in the case of a Relational Database ). The entities can be using their relationships, and their changes committed back to the datastore.


SEE ALSO


;Data Access Technologies

;O/R Mapping

;Data Access and Synchronization



EXTERNAL LINKS


;ADO.NET

;Entity Framework

;Incubation Projects