如何在DataSet中的表上覆盖TableAdapter方法?
-
07-07-2019 - |
题
我当前声明了一个包含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(...);
}
不隶属于 StackOverflow