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


Практическое руководство. Реализация иерархического обновления в существующих проектах Visual Studio

Начиная с Visual Studio 2008, типизированные наборы данных улучшены за счет компонента TableAdapterManager. TableAdapterManager уменьшает размер кода, требуемого для сохранения данных в нескольких связанных таблицах из нескольких процедур с несколькими строками кода, требуется вызов лишь одного метода — TableAdapterManager.UpdateAll(TypedDataset). По умолчанию иерархическое обновление включено для всех новых наборов данных, добавляемых в проект или созданных в проекте. Существующие наборы данных (наборы данных, созданные в более ранних версиях Visual Studio, до Visual Studio 2008) не содержат компонент TableAdapterManager. Таким образом, по умолчанию наборы данных, созданные в более ранних версиях, имеют свойство Иерархическое обновление, равное False. Создайте компоненты TableAdapterManager, установив свойство Иерархическое обновление равным True, и сохраните набор данных. Для получения дополнительной информации см. Общие сведения о компоненте TableAdapterManager.

Включение иерархического обновления и создание компонента TableAdapterManager

Примечание

Отображаемые на компьютере имена или расположения некоторых элементов пользовательского интерфейса Visual Studio могут отличаться от указанных в следующих инструкциях. Это зависит от имеющегося выпуска Visual Studio и используемых параметров. Дополнительные сведения см. в разделе Настройка параметров разработки в Visual Studio.

Для обеспечения иерархического обновления в более ранних версиях типизированных наборов данных:

  1. Откройте в Visual Studio 2008 проект, содержащий типизированный набор данных или обычные наборы данных.

  2. Выполните Мастер преобразования Visual Studio.

  3. Откройте набор данных в Создание и изменение типизированных наборов данных, дважды щелкнув файл XSD в обозревателе решений.

  4. Щелкните по пустой области в Конструкторе наборов данных.

  5. Найдите свойство Иерархическое обновление в окне окно свойств.

  6. Задайте значение свойства Иерархическое обновление равным True.

  7. В меню Построение выберите Построить решение.

Настройка TableAdapterManager и сохранение данных

После задания значения свойства Иерархическое обновление равным True и сохранения набора данных создается компонент TableAdapterManager, позволяющий осуществлять иерархическое обновление. После создания компонента TableAdapterManager обновите существующий код, чтобы создать новый экземпляр TableAdapterManager и вызовите метод TableAdapterManager.UpdateAll() вместо вызовов отдельных методов TableAdapter.Update(). Если существующий код адаптера таблиц TableAdapter находится в библиотеке классов (или в любом файле, не имеющем интерфейса пользователя), следует программно создать экземпляр нового адаптера таблиц TableAdapterManager. Если существующий код TableAdapter находится на форме, можно создать новый TableAdapterManager путем перетаскивания компонента TableAdapterManager из Панели элементов на форму.

TableAdapterManager строго типизированы, то есть они создаются со свойствами, которые ссылаются на отдельные адаптеры таблиц TableAdapter, которыми они управляют. После создания экземпляра TableAdapterManager задайте отдельные свойства адаптера таблиц TableAdapter экземплярам каждого адаптера таблиц TableAdapter, как показано в следующих процедурах.

Чтобы добавить TableAdapterManager в существующий проект без интерфейса пользователя:

  1. Найдите код, вызывающий методы TableAdapter.Update (например CustomersTableAdapter.Update(NorthwindDataSet.Customers)).

  2. Замените код, вызывающий отдельные методы TableAdapter.Update, следующим кодом:

    Dim adapterManager as new TableAdapterManager
    adapterManager.TableName1TableAdapter = new _
    TableName1TableAdapter
    adapterManager.TableName2TableAdapter = new _
    TableName2TableAdapter
    
    adapterManager.UpdateAll(Me.DataSetName)
    
    TableAdapterManager adapterManager = 
    new TableAdapterManager();
    
    adapterManager.TableName1TableAdapter = 
    new TableName1TableAdapter();
    adapterManager.TableName2TableAdapter = 
    new TableName2TableAdapter();
    
    adapterManager.UpdateAll(this.DataSetName);
    

Чтобы добавить TableAdapterManager в существующий проект с интерфейсом пользователя:

  1. Откройте форму в конструкторе.

  2. Из Панели элементов перетащите на форму TableAdapterManager.

  3. Найдите код, вызывающий методы TableAdapter.Update (например CustomersTableAdapter.Update(NorthwindDataSet.Customers)).

  4. Замените код, вызывающий отдельные методы TableAdapter.Update, следующим кодом:

    Me.TableAdapterManager.TableName1TableAdapter = _
    new DatasetNameTableAdapters.TableName1TableAdapter
    Me.TableAdapterManager.TableName2TableAdapter = _
    new DatasetNameTableAdapters.TableName2TableAdapter
    
    Me.TableAdapterManager.UpdateAll(Me.DataSetName)
    
    TableAdapterManager.TableName1TableAdapter = new 
    TableName1TableAdapter();
    TableAdapterManager.TableName2TableAdapter = new 
    TableName2TableAdapter();
    
    TableAdapterManager.UpdateAll(this.DataSetName);
    

См. также

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

Общие сведения об иерархическом обновлении

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