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

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

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

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

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

最佳答案

由设计师生成的任何TableAdapter类,其适当的成员都标记为虚类-其中包括UpdateFill方法。 Hemce,解决方案只是从设计师生成的TableAdapter类继承并覆盖Update方法,然后在其中添加自定义代码。

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

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

关于c# - 如何在数据集中的表上重写TableAdapter方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1434968/

10-10 19:41