2

現在、3つのテーブルを含む単一のDataSetが宣言されています。この例では、それらをUser、QuestionandAnswerと呼びます。

これらのそれぞれに、必要なさまざまなメソッドを備えたTableAdapterがあります。GetData()、Update()、Delete()など。

Answerテーブルで、TableAdapterのUpdateメソッドをオーバーライドして、テーブルの一部ではないいくつかのパラメーターを追加したいと思いますが、ObjectDataSource要件のために渡す必要があります。

Answer TableAdapterのUpdate()メソッドをオーバーライドするにはどうすればよいですか?

プロジェクトをシンプルに保つために、別のDALレイヤーを作成したくありません。

4

1 に答える 1

3

TableAdapter適切なメンバーが仮想としてマークされたデザイナー生成クラス-これには、特にUpdateandFillメソッドが含まれます。ヘムス、解決策は、デザイナーが生成したTableAdapterクラスから継承し、メソッドをオーバーライドして、Updateそこにカスタムコードを追加することです。

Updateメソッドのシグネチャ(パラメータ数/タイプ)を変更する場合は、メソッドをオーバーロードするオプションもあります。拡張メソッドを使用して、派生クラスで、または私の見解ではより便利に、これを行うことができます。

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