ADO.NET allows ASP.NET applications to communicate with databases and other data sources. It addresses issues with previous data access technologies like ADO when used for web applications, including problems of scale with many simultaneous users, stateless HTTP requests, and compatibility across platforms. ADO.NET uses a disconnected data model where data is retrieved into an XML-based DataSet that can be modified locally without an active database connection. When ready, changes are synced back to the data source.