ADO.NET is a
data access
Data access is a generic term referring to a process which has both an IT-specific meaning and other connotations involving access rights in a broader legal and/or political sense. In the former it typically refers to software and activities relat ...
technology from the
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
.NET Framework that provides communication between relational and non-relational systems through a common set of components.
ADO.NET is a set of computer software components that programmers can use to access data and data services from a database. It is a part of the
base class library that is included with the Microsoft .NET Framework. It is commonly used by programmers to access and modify data stored in
relational database systems, though it can also access data in non-relational data sources. ADO.NET is sometimes considered an evolution of
ActiveX Data Objects
In computing, Microsoft's ActiveX Data Objects (ADO) comprises a set of Component Object Model (COM) objects for accessing data sources. A part of MDAC (Microsoft Data Access Components), it provides a middleware layer between programming la ...
(ADO) technology, but was changed so extensively that it can be considered an entirely new product.
Architecture
ADO.NET is conceptually divided into consumers and data providers.
The consumers are the applications that need access to the data, and the providers are the software components that implement the interface and thereby provide the data to the consumer.
Functionality exists in
Visual Studio IDE to create specialized subclasses of the DataSet classes for a particular
database schema
The database schema is the structure of a database described in a formal language supported typically by a relational database management system (RDBMS). The term "wikt:schema, schema" refers to the organization of data as a blueprint of how the ...
, allowing convenient access to each field in the schema through strongly typed
properties
Property is the ownership of land, resources, improvements or other tangible objects, or intellectual property.
Property may also refer to:
Philosophy and science
* Property (philosophy), in philosophy and logic, an abstraction characterizing an ...
. This helps catch more programming errors at compile-time and enhances the IDE's
Intellisense feature.
A ''provider'' is a software component that interacts with a
data source. ADO.NET data providers are analogous to
ODBC drivers,
JDBC drivers, and
OLE DB providers.
ADO.NET providers can be created to access such simple data stores as a text file and spreadsheet, through to such complex databases as
Oracle Database
Oracle Database (commonly referred to as Oracle DBMS, Oracle Autonomous Database, or simply as Oracle) is a proprietary multi-model database management system produced and marketed by Oracle Corporation.
It is a database commonly used for ru ...
,
Microsoft SQL Server
Microsoft SQL Server is a proprietary relational database management system developed by Microsoft using Structured Query Language (SQL, often pronounced "sequel"). As a database server, it is a software product with the primary function of ...
,
MySQL
MySQL () is an Open-source software, open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A rel ...
,
PostgreSQL,
SQLite,
IBM Db2,
Sybase ASE, and many others. They can also provide access to hierarchical data stores such as email systems.
Because different data store technologies can have different capabilities, every ADO.NET provider cannot implement every possible interface available in the ADO.NET standard. Microsoft describes the availability of an interface as "provider-specific," as it may not be applicable depending on the data store technology involved. Providers may augment the capabilities of a data store; these capabilities are known as "services" in Microsoft parlance.
Object-relational mapping
Entity Framework
Entity Framework (EF) is an open source object-relational mapping (ORM) framework for ADO.NET, part of .NET Framework. It is a set of technologies in ADO.NET that supports the development of data-oriented software applications. Architects and developers of data-oriented applications have typically struggled with the need to achieve two very different objectives. The Entity Framework enables developers to work with data in the form of domain-specific objects and properties, such as customers and customer addresses, without having to concern themselves with the underlying database tables and columns where this data is stored. With the Entity Framework, developers can work at a higher level of abstraction when they deal with data, and can create and maintain data-oriented applications with less code than in traditional applications.
LINQ to SQL
LINQ to SQL (formerly called DLINQ) allows
LINQ to be used to query Microsoft SQL Server databases, including SQL Server Compact databases. Since SQL Server data may reside on a remote server, and because SQL Server has its own query engine, it does not use the query engine of LINQ. Instead, the LINQ query is converted to a SQL query that is then sent to SQL Server for processing. Since SQL Server stores the data as relational data and LINQ works with data encapsulated in objects, the two representations must be mapped to one another. For this reason, LINQ to SQL also defines a mapping framework. The mapping is done by defining classes that correspond to the tables in the database, and containing all or a certain subset of the columns in the table as data members.
References
*
*
*
External links
ADO.NET for the ADO ProgrammerADO.NET Connection Strings
{{DEFAULTSORT:Ado.Net
Data management
.NET Framework terminology
Microsoft application programming interfaces
Microsoft free software
SQL data access
ADO.NET Data Access technologies
Software using the MIT license
Windows-only free software