Как переопределить метод TableAdapter для таблицы в наборе данных? - PullRequest
2 голосов
/ 16 сентября 2009

В настоящее время у меня объявлен один DataSet, который содержит 3 таблицы. Ради этого примера мы будем называть их Пользователь, Вопрос и Ответ.

На каждом из них у меня есть TableAdapter с различными необходимыми методами, т.е. GetData (), Update (), Delete () и т. Д.

В таблице ответов я хотел бы переопределить метод обновления из адаптера таблицы, чтобы добавить некоторые параметры, которые не являются частью таблицы, но мне нужно передать из-за требования ObjectDataSource.

Как мне переопределить метод Update () в адаптере таблицы ответов?

Пытаясь сохранить простоту проекта, я не хочу создавать отдельный слой DAL.

1 Ответ

3 голосов
/ 16 сентября 2009

Любой сгенерированный дизайнером TableAdapter классифицирует своих подходящих членов, помеченных как виртуальные, в том числе метод Update и Fill. Хемче, решение состоит в том, чтобы просто наследовать от сгенерированного дизайнером класса TableAdapter и переопределить метод Update, добавив туда свой пользовательский код.

У вас также есть возможность перегрузки метода Update, если вы хотите изменить сигнатуру метода (число параметров / типы). Вы можете сделать это либо в производном классе, либо, на мой взгляд, более удобно, используя метод расширения:

public static void Update(this MyTableAdapter tableAdapter, ... other params ...)
{
    // do stuff here
    tableAdapter.Update(...);
}
...