.NET TableAdapter 到 DataAdapter

Posted

技术标签:

【中文标题】.NET TableAdapter 到 DataAdapter【英文标题】:.NET TableAdapter to DataAdapter 【发布时间】:2010-02-26 14:35:16 【问题描述】:

TableAdapter 是 DataAdapter 的包装器。以通用方式使用 TableAdapters 是不可能的(因为它们继承了 Component 类)。是否可以从 TableAdapter 中取出包装好的 DataAdapter?

【问题讨论】:

【参考方案1】:

正如 Brian 指出的,表适配器是一个部分类。如果要公开 DataAdapter,可以通过以下代码实现。 (假设您有一个 TableAdapter 类 MyTableAdapter。

public partial class MyTableAdapter

    public DbDataAdapter Adapter
    
        get  return this._adapter; 
    

或者,您可以编写一些通用方法(或扩展方法),使用反射返回私有适配器。这样您就不必“触摸”您创建的每个表适配器。

【讨论】:

【参考方案2】:

每个表适配器都包含设计器生成的方法,这些方法不是标准的...与其使用通用基类,我会调查您是否可以让表适配器实现接口,因为这样更容易实现并且仍然没有失去强类型。我相信表适配器是一个部分类,你可以创建一个类:

public partial class MyTableAdapter : ISomeInterface

这个接口可以定义你的自定义方法。我不确定部分的东西,但我很确定它们是部分类。

【讨论】:

以上是关于.NET TableAdapter 到 DataAdapter的主要内容,如果未能解决你的问题,请参考以下文章

在 vb.net 中使用 tableadapter 更新旧数据并添加新数据

数据源datagridview tableadapter

TableAdapter 的插入方法不起作用?

在SQL TableAdapter上使用相同的参数2(或更多)次但仅传递1

Datagridview 更新到多个表而不使用 bindingsource 或 tableadapter

使用带有 SqlCommandBuilder 的 TableAdapter 和导出到 DataTable 的工作表来更新 SQL 数据库表