TableAdapter - это оболочка для DataAdapter. Невозможно использовать TableAdapters в общем виде (bacause они наследуют класс Component). Возможно ли получить упакованный DataAdapter из TableAdapter?.NET TableAdapter to DataAdapter
ответ
Как указал Брайан, адаптер стола является частичным классом. Если вы хотите открыть DataAdapter, вы можете достичь этого с помощью следующего кода. (Если у вас есть класс TableAdapter MyTableAdapter.
public partial class MyTableAdapter
{
public DbDataAdapter Adapter
{
get { return this._adapter; }
}
}
В качестве альтернативы, вы могли бы написать какой-нибудь метод общего назначения (или метод расширения), который возвращает частный адаптер с помощью отражения. Таким образом, вы не должны «трогать» каждый который вы создаете.
Каждый адаптер таблицы содержит созданный конструктором метод, который не является стандартным ... вместо того, чтобы работать с общим базовым классом, я бы исследовал, можно ли реализовать адаптер таблицы с интерфейсом, поскольку это было бы проще реализовать и все еще не терять сильную типизацию. Я считаю, что адаптер таблицы представляет собой частичный класс, и вы можете создать класс:
public partial class MyTableAdapter : ISomeInterface
Какого этот интерфейс может иметь пользовательские методы определены. Я не уверен в частичной вещи, но я уверен, что это частичные классы.