Je suis peut-être en train de vaguer ici, mais je cherche un bon endroit pour mettre des opérations auxiliaires basées sur linq pour faire des choses. comme;Quelle est la convention pour étendre Linq datacontext avec des opérations auxiliaires basées sur un ensemble spécifique à une seule collection d'entités?
db.Selections.ClearTemporary()
qui fait quelque chose comme
db.DeleteAllOnSubmit(db.Selections.Where(s => s.Temporary))
Depuis que je peux comprendre comment étendre Table<Selection>
le meilleur que je peux faire est de créer une méthode statique dans la classe partielle de sélection (similaire à Ruby), mais je passer dans le datacontext comme;
Selection.ClearTemporary(MyDataContext)
Ce genre de suce parce que j'ai deux conventions pour faire des opérations à base de set et je dois passer le contexte de données à la classe statique.
J'ai vu d'autres personnes recommander d'empiler des méthodes d'aide dans une partie du contexte de données comme;
myDataContext.ClearTemporarySelections();
Mais je pense que cela fait de la DC un dépotoir pour les opérations de cohésion.
Sûrement il me manque quelque chose. J'espere. Quelle est la convention?
Donne-moi quelque chose d'autre à travailler mais s'applique à toutes les entités. Depuis .Selections est en réalité getter pour un type générique Table et pas une classe je suppose que l'extension de ceux-ci sont une impasse. Désolé de répondre si tard que je n'ai jamais reçu de notification par email de ceci. –
Ajout de 'SubmitChanges' est une idée terrible ici (extrêmement non intuitive avec des effets secondaires imprévisibles). Je vais transformer mon -1 en +1 sans ça. –
Je viens de réaliser que vous avez répondu par le titre de la question parfaitement - bonne réponse question stupide. J'ai édité le titre de ma question mais quel est le protocole? –