Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
otvety_po_pi.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
180.17 Кб
Скачать
  1. Поставщики данных ado.Net

Поставщик данных (data provider) — это набор классов ADO.NET, которые позволяют получать доступ к определенной базе данных, выполнять команды SQL и извлекать данные. По сути, поставщик данных — это мост между вашим приложением и источником данных.

Основные объекты поставщиков данных ADO.NET

Connection - Позволяет подключаться к хранилищу данных и отключаться от него. Кроме того, объекты подключения обеспечивают доступ к соответствующим объектам транзакций

Command - Представляет SQL-запрос или хранимую процедуру. Кроме того, объекты команд предоставляют доступ к объекту чтения данных конкретного поставщика данных

DataReader - Предоставляет доступ к данным только для чтения в прямом направлении с помощью курсора на стороне сервера

DataAdapter - Пересылает наборы данных из хранилища данных к вызывающему процессу и обратно. Адаптеры данных содержат подключение и набор из четырех внутренних объектов команд для выборки, вставки, изменения и удаления информации в хранилище данных

Parameter - Представляет именованный параметр в параметризованном запросе

Transaction - Инкапсулирует транзакцию в базе данных

Одной из ключевых идей, лежащих в основе модели поставщиков ADO.NET, является расширяемость. В рамках .NET Framework поставляется небольшой набор из четырех поставщиков:

SQL Server - Предоставляет оптимизированный доступ к базам данных SQL Server (версии 7.0 и выше).

OLE DB - Предоставляет доступ к любому источнику данных, который имеет драйвер OLE DB. Это включает базы данных SQL Server версий, предшествующих 7.0.

Oracle - Предоставляет оптимизированный доступ к базам данных Oracle (версии 8i и выше).

ODBC - Предоставляет доступ к любому источнику данных, имеющему драйвер ODBC.

  1. Создание базы данных. Визуальное создание отношений между таблицами

Для запуска необходимо открыть Server Explorer. Открывается с помощью пункта меню Viev – Other Windows – Server Explorer. Создаем БД DataExample. На узле DataConnections выбрать Create New SQL Server DataBase. Указать имя БД. Для добавления таблицы выбрать Add New Table. C помощью редактора таблиц добавить в таблицу 4 столбца: CarID, Make, color, PetName. У CarID должно быть установлено свойство Primary Key (первичный ключ) – контекстное меню CarID и выбрать Set Primary Key (установить первичный ключ). Сохранить и закрыть таблицу: новый объект БД имеет имя Inventory. Чтобы посмотреть таблицу, выбрать Show Table Data. Заполняем таблицу. Аналогично заполняются таблицы (клиенты и заказы).

Визуальное создание отношений между таблицами. Для этого на узле Database Diagrams базы DataExample выбрать пункт Add New Diagram.

  1. Подключенный уровень(connected layer)

При использовании подключенного уровня (connected layer), кодовая база явно подключается к соответствующему хранилищу данных и отключается от него. При таком способе использования ADO.NET обычно происходит взаимодействие с хранилищем данных с помощью объектов подключения, объектов команд и объектов чтения данных

  1. Автономный уровень (disconnected layer)

Автономный уровень (disconnected layer), позволяет работать с набором объектов DataTable (содержащихся в DataSet), который представляет на стороне клиента копию внешних данных. При получении DataSet с помощью соответствующего объекта адаптера данных подключение открывается и закрывается автоматически.

Получив объект DataSet, вызывающий код может просматривать и обрабатывать данные без затрат на сетевой трафик. А если нужно занести изменения в хранилище данных, то адаптер данных (вместе с набором операторов SQL) задействуется для обновления данных — при этом подключение открывается заново для проведения обновлений в базе, а затем сразу же закрывается.

  1. Технология Entity Framework

При использовании подключенного и автономного уровней ADO.NET всегда приходится помнить о физической структуре лежащей в основе базы данных. Необходимо знать схему каждой таблицы данных, писать сложные SQL-запросы для взаимодействия с данными таблиц и т.д. Это вынуждает писать довольно громоздкий код С#, поскольку С# существенно отличается от языка самой базы данных.

Вдобавок способ конструирования физической базы данных (администратором баз данных) полностью сосредоточен на таких конструкциях базы, как внешние ключи, представления и хранимые процедуры. Сложность баз данных, спроектированных администратором, может еще более возрастать, если администратор при этом заботится о безопасности и масштабируемости. Это также усложняет код С#, который приходится писать для взаимодействия с хранилищем данных.

Платформа ADO.NET Entity Framework (EF) — это программная модель, которая пытается заполнить пробел между конструкциями базы данных и объектно-ориентированными конструкциями. Используя EF, можно взаимодействовать с реляционными базами данных, не имея дело с кодом SQL (при желании). Исполняющая среда EF генерирует подходящие операторы SQL, когда вы применяете запросы LINQ к строго типизированным классам.

LINQ to Entities — это термин, описывающий применение запросов LINQ к сущностным объектам ADO.NET.

Другой возможный подход состоит в том, чтобы вместо обновления базы данных посредством нахождения строки, обновления строки и отправки строки обратно на обработку в пакете запросов SQL, просто изменять свойства объекта и сохранять его состояние. И в этом случае исполняющая среда EF обновляет базу данных автоматически.

После недолгого использования EF часто отдается предпочтение этой развитой объектной модели перед относительно примитивным миром SQL-запросов и коллекций строк/столбцов.

Иногда в проектах .NET используются все три подхода, поскольку одна только модель EF чрезмерно усложняет код.

  1. Создание подключения с помощью мастеров данных

Набор данных создается при помощи Мастера настройки источника данных.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]