Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
ADO.NET
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Data access software from Microsoft .NET Framework}} {{More footnotes needed|date=March 2009}} {{Infobox software | developer = [[Microsoft]] | operating system = [[Microsoft Windows]] | genre = [[Software framework]] | license = [[Proprietary software]] ([[Base Class Library|BCL]] portion under [[MIT license]]; source code under [[Ms-RSL]]) | website = {{URL|https://docs.microsoft.com/dotnet/framework/data/adonet/}} }} '''ADO.NET''' is a [[data access]] technology from the [[Microsoft]] [[.NET Framework]] that provides communication between relational and non-relational systems through a common set of components.<ref name="ADO_overview">{{cite web|title=ADO.NET Overview|url=https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/ado-net-overview|website=docs.microsoft.com|publisher=Microsoft|access-date=4 September 2017|language=en-us}}</ref> 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|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 DBMS|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]] (ADO) technology, but was changed so extensively that it can be considered an entirely new product. == Architecture == [[Image:DotNet3.0.svg|thumb|right|240px|This [[technology]] forms a part of [[.NET Framework 3.0]] (having been part of the framework since version 1.0)]] ADO.NET is conceptually divided into consumers and data providers.<ref name="ADO_arch">{{cite web|title=ADO.NET Architecture|url=https://docs.microsoft.com/en-us/dotnet/framework/data/adonet/ado-net-architecture|website=docs.microsoft.com|publisher=Microsoft|access-date=4 September 2017|language=en-us}}</ref> 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 [[Microsoft Visual Studio|Visual Studio]] IDE to create specialized subclasses of the DataSet classes for a particular [[database schema]], allowing convenient access to each field in the schema through strongly typed [[Property (programming)|properties]]. 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 [[database|data source]]. ADO.NET data providers are analogous to [[ODBC driver]]s, [[JDBC driver]]s, and [[OLE DB provider]]s. 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]], [[Microsoft SQL Server]], [[MySQL]], [[PostgreSQL]], [[SQLite]], [[IBM Db2]], [[Adaptive Server Enterprise|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 == {{main|Object-relational mapping}} === Entity Framework === {{main|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 === {{main|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== {{Reflist}} * {{cite web|title=ADO.NET Architecture|url=http://msdn.microsoft.com/en-us/library/27y4ybxw.aspx|work=[[MSDN]]|publisher=[[Microsoft]]|access-date=16 July 2013|date=2012-08-02}} * {{cite web|title=.NET Framework Data Providers|url=http://msdn.microsoft.com/en-us/library/a6cd7c08.aspx|work=[[MSDN]]|publisher=[[Microsoft]]|access-date=16 July 2013|date=2012-08-20}} * {{cite web|title=ADO.NET Data Providers|url=http://msdn.microsoft.com/en-us/data/dd363565|work=Data Developer Center|publisher=[[Microsoft]]|access-date=16 July 2013}} ==External links== {{Wikibooks|.NET Development Foundation}} * [http://msdn2.microsoft.com/en-us/library/ms973217.aspx ADO.NET for the ADO Programmer] * [http://www.devlist.com/ConnectionStringsPage.aspx ADO.NET Connection Strings] {{.NET Framework}} {{Microsoft APIs}} {{Authority control}} {{DEFAULTSORT:Ado.Net}} [[Category:Data management]] [[Category:.NET Framework terminology]] [[Category:Microsoft application programming interfaces]] [[Category:Microsoft free software]] [[Category:SQL data access]] [[Category:ADO.NET Data Access technologies]] [[Category:Software using the MIT license]] [[Category:Windows-only free software]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:.NET Framework
(
edit
)
Template:Authority control
(
edit
)
Template:Cite web
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main
(
edit
)
Template:Main other
(
edit
)
Template:Microsoft APIs
(
edit
)
Template:More footnotes needed
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Sister project
(
edit
)
Template:Template other
(
edit
)
Template:Wikibooks
(
edit
)