2

我目前声明了一个包含 3 个表的数据集。为了这个例子,我们将它们称为用户、问题和答案。

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

在答案表上,我想覆盖 TableAdapter 中的更新方法以添加一些不属于表的参数,但由于 ObjectDataSource 要求,我需要通过。

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

为了使项目保持简单,我不想创建单独的 DAL 层。

4

1 回答 1

3

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

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

public static void Update(this MyTableAdapter tableAdapter, ... other params ...)
{
    // do stuff here
    tableAdapter.Update(...);
}
于 2009-09-16T19:30:05.037 回答