Общие сведения о компоненте TableAdapterManager

Обновлен: Ноябрь 2007

TableAdapterManager представляет собой новый компонент в Visual Studio 2008, включающий существующие возможности работы с данными (типизированные наборы данных и TableAdapter) и обеспечивающий функциональные возможности для сохранения данных в связанных таблицах данных. TableAdapterManager использует связи внешнего ключа, которые связывают таблицы данных для определения правильного порядка отправки команд Insert, Update и Delete из набора данных в базу данных без нарушения ограничения внешнего ключа (ссылочная целостность) в базе данных.

Ограничения внешнего ключа — это правила непротиворечивости в базе данных, управляющие поведением при вставке, обновлении и удалении связанных записей. Ограничения внешнего ключа препятствуют удалению родительских записей до тех пор, пока в других таблицах существуют связанные с ними дочерние записи.

Общий процесс сохранения данных в связанных таблицах данных с помощью TableAdapterManager называется Иерархическое обновление.

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

Создание TableAdapterManagers

По умолчанию, класс TableAdapterManager создается при создании типизированного набора данных в проекте. Точнее, значение свойства Hierarchical Update набора данных, определяет, будет ли создан TableAdapterManager. Если Hierarchical Update имеет значение true, TableAdapterManager создается; если Hierarchical Update имеет значение false, набор данных не содержит созданный TableAdapterManager. Дополнительные сведения см. в разделе Практическое руководство. Разрешение и запрет иерархического обновления.

Bb384426.alert_note(ru-ru,VS.90).gifПримечание.

В наборах данных, добавляемых в проекты, созданные в предыдущих версиях Visual Studio, свойство Hierarchical Update по умолчанию равно false. Это означает, что иерархическое обновление отключено и TableAdapterManager не создается. Сведения о добавлении TableAdapterManager в существующий набор данных содержатся в разделе Практическое руководство. Реализация иерархического обновления в существующих проектах Visual Studio.

Ссылка TableAdapterManager

Класс TableAdapterManager не является частью пространств имен .NET Framework. Следовательно, он не отражен в документации. Он создается в режиме разработки как часть процесса создания набора данных.

Ниже перечислены часто используемые методы и свойства класса TableAdapterManager:

Член

Описание

Метод UpdateAll

Сохраняет все данные из всех таблиц данных.

Свойство BackUpDataSetBeforeUpdate

Логическое. Определяет, требуется ли создавать резервную копию набора данных перед выполнением метода TableAdapterManager.UpdateAll.

TableName Свойство TableAdapter

Представляет TableAdapter. Созданный TableAdapterManager содержит свойство для каждого TableAdapter, которым он управляет. Например, набор данных с таблицей Customers и Orders создается с TableAdapterManager, содержащий свойства CustomersTableAdapter и OrdersTableAdapter.

Свойство UpdateOrder

Определяет порядок выполнения отдельных команд INSERT, UPDATE и DELETE. Установите это свойство в одно из значений перечисления TableAdapterManager.UpdateOrderOption.

По умолчанию UpdateOrder имеет значение InsertUpdateDelete. Это означает, что вставки выполняются для всех таблиц в наборе данных, затем выполняются обновления для всех таблиц в наборе данных, и затем удаление. Дополнительные сведения см. в разделе Практическое руководство. Установка порядка выполнения иерархического обновления.

См. также

Задачи

Пошаговое руководство. Сохранение данных связанных таблиц данных (иерархическое обновление)

Пошаговое руководство. Создание простого приложения для работы с данными

Основные понятия

Общие сведения об адаптере таблиц

Другие ресурсы

Иерархическое обновление

Сохранение данных