我目前只声明了一个包含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(...);
}
关于c# - 如何在数据集中的表上重写TableAdapter方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1434968/