Общие сведения о компоненте 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. Дополнительные сведения см. в разделе Практическое руководство. Разрешение и запрет иерархического обновления.
Примечание. |
---|
В наборах данных, добавляемых в проекты, созданные в предыдущих версиях 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. Это означает, что вставки выполняются для всех таблиц в наборе данных, затем выполняются обновления для всех таблиц в наборе данных, и затем удаление. Дополнительные сведения см. в разделе Практическое руководство. Установка порядка выполнения иерархического обновления. |
См. также
Задачи
Пошаговое руководство. Сохранение данных связанных таблиц данных (иерархическое обновление)
Пошаговое руководство. Создание простого приложения для работы с данными
Основные понятия
Общие сведения об адаптере таблиц