Поделиться через


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

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

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

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

Средства иерархического обновления используют TableAdapterManager для управления TableAdapter в типизированном наборе данных. Компонент TableAdapterManager является компонентом, сгенерированным Visual Studio, поэтому он не является частью .NET Framework. Подробные сведения о классе TableAdapterManager см. в разделе "Ссылка TableAdapterManager" в Общие сведения о компоненте TableAdapterManager.

Если приложение использует типизированные наборы данных и дает пользователям возможность изменения данных в связанных таблицах данных (таблицы данных в отношении "один ко многим", например Customers и Orders), возможно, потребуется использовать иерархическое обновление.

В этом подразделе

Ссылка

DataSet

DataTable

Связанные подразделы

Многоуровневые приложения для работы с данными

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

Конструктор наборов данных

Адаптер таблицы

Объекты DataSet, DataTable и DataView (ADO.NET)

DataTable (ADO.NET)

Доступ к данным (Visual Studio)