Question

J'ai actuellement un seul DataSet déclaré qui contient 3 tables. Par souci de cet exemple, nous les appellerons utilisateur, question et réponse.

Sur chacun d’eux, j’ai un TableAdapter avec les différentes méthodes requises, c’est-à-dire. GetData (), Update (), Delete (), etc.

Sur la table de réponses, j'aimerais redéfinir la méthode de mise à jour à partir de TableAdapter pour ajouter des paramètres qui ne font pas partie de la table, mais que je dois transmettre en raison de la nécessité ObjectDataSource.

Comment puis-je redéfinir la méthode Update () sur l'adaptateur de table Answer?

En essayant de garder le projet simple, je ne souhaite pas créer un calque DAL séparé.

Était-ce utile?

La solution

Toute classe TableAdapter générée par le concepteur et ses membres appropriés marqués comme virtuels - ceci inclut, entre autres, les méthodes Update et Fill . La solution consiste simplement à hériter de la classe TableAdapter générée par le concepteur et à remplacer la méthode Update en y ajoutant votre code personnalisé.

Vous avez également la possibilité de surcharger la méthode Update si vous souhaitez modifier la signature de la méthode (paramètre count / types). Vous pouvez le faire soit sur une classe dérivée, soit de façon plus pratique à mon avis, en utilisant une méthode d'extension:

public static void Update(this MyTableAdapter tableAdapter, ... other params ...)
{
    // do stuff here
    tableAdapter.Update(...);
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top