我当前声明了一个包含3个表的DataSet。为了这个例子,我们将其称为用户,问题和答案。

在每个上面我都有一个TableAdapter,它有各种所需的方法,即。 GetData(),Update(),Delete()等。

在答案表上我想覆盖TableAdapter中的Update方法,添加一些不属于表的参数,但由于ObjectDataSource的要求,我需要传递。

如何覆盖Answer TableAdapter上的Update()方法?

在尝试保持项目简单时,我不想创建单独的DAL层。

有帮助吗?

解决方案

任何设计器生成的 TableAdapter 类,其适当的成员标记为虚拟 - 这包括 Update Fill 方法等。 Hemce,解决方案只是从设计器生成的 TableAdapter 类继承并覆盖 Update 方法,在那里添加自定义代码。

如果要更改方法签名(参数计数/类型),还可以选择重载 Update 方法。您可以使用扩展方法在派生类上执行此操作,或者在我的视图中更方便地执行此操作:

public static void Update(this MyTableAdapter tableAdapter, ... other params ...)
{
    // do stuff here
    tableAdapter.Update(...);
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top