Введение
Программное обеспечение для доступа к данным из Microsoft .NET Framework.
ADO.NET — это технология доступа к данным платформы Microsoft .NET Framework, обеспечивающая связь между реляционными и нереляционными системами посредством общего набора компонентов. ADO.NET представляет собой набор компонентов компьютерного программного обеспечения, которые программисты могут использовать для доступа к данным и службам данных из базы данных. Это часть базовой библиотеки классов, поставляемой вместе с Microsoft .NET Framework. Программисты обычно используют ADO.NET для доступа и изменения данных, хранящихся в реляционных системах управления базами данных, хотя он также может получать доступ к данным в нереляционных источниках данных. ADO.NET часто рассматривается как эволюция технологии ActiveX Data Objects (ADO), но был настолько значительно изменен, что его можно считать совершенно новым продуктом.
Архитектура
ADO.NET концептуально разделен на потребителей и поставщики данных. Потребителями являются приложения, которым требуется доступ к данным, а поставщиками – программные компоненты, реализующие интерфейс и тем самым предоставляющие данные потребителю. В Visual Studio IDE предусмотрена функциональность для создания специализированных подклассов классов DataSet для конкретной схемы базы данных, обеспечивающая удобный доступ к каждому полю схемы через строго типизированные свойства. Это помогает выявлять больше ошибок программирования на этапе компиляции и улучшает работу функции Intellisense IDE. Провайдер – это программный компонент, взаимодействующий с источником данных. Провайдеры данных ADO.NET аналогичны драйверам ODBC, JDBC и провайдерам OLE DB. Провайдеры ADO.NET могут быть созданы для доступа к таким простым хранилищам данных, как текстовые файлы и электронные таблицы, и к таким сложным базам данных, как Oracle Database, Microsoft SQL Server, MySQL, PostgreSQL, SQLite, IBM Db2, Sybase ASE и многие другие. Они также могут обеспечивать доступ к иерархическим хранилищам данных, например, к системам электронной почты. Поскольку различные технологии хранения данных могут обладать разными возможностями, не каждый провайдер ADO.NET может реализовать все возможные интерфейсы, доступные в стандарте ADO.NET. Microsoft определяет доступность интерфейса как "специфичную для поставщика", поскольку она может быть неприменима в зависимости от используемой технологии хранения данных. Провайдеры могут расширять возможности хранилища данных; эти возможности в терминологии Microsoft называются "сервисами".
Структура организации
Entity Framework (EF) — это система с открытым исходным кодом для реляционного отображения объектов (ORM) для ADO.NET, являющаяся частью .NET Framework. Это набор технологий в ADO.NET, поддерживающий разработку программных приложений, ориентированных на данные. Архитекторы и разработчики приложений, работающих с данными, как правило, сталкивались с необходимостью достижения двух принципиально разных целей. Entity Framework позволяет разработчикам работать с данными в виде объектов и свойств, специфичных для предметной области, таких как клиенты и адреса клиентов, не заботясь о базовых таблицах и столбцах базы данных, где эти данные хранятся. Благодаря Entity Framework разработчики могут работать на более высоком уровне абстракции при работе с данными и создавать и поддерживать приложения, ориентированные на данные, с меньшим объемом кода, чем в традиционных приложениях.
LINQ к SQL
LINQ to SQL (ранее называемый DLINQ) позволяет использовать LINQ для запроса баз данных Microsoft SQL Server, включая базы данных SQL Server Compact. Поскольку данные SQL Server могут располагаться на удаленном сервере, а SQL Server имеет собственный механизм запросов, он не использует механизм запросов LINQ. Вместо этого LINQ-запрос преобразуется в SQL-запрос, который затем отправляется в SQL Server для обработки. Так как SQL Server хранит данные в виде реляционных данных, а LINQ работает с данными, инкапсулированными в объекты, эти два представления необходимо сопоставить друг с другом. Поэтому LINQ to SQL также определяет фреймворк сопоставления. Сопоставление выполняется путем определения классов, соответствующих таблицам в базе данных, и содержащих все или определенное подмножество столбцов таблицы в качестве членов данных.