3 votes

LINQ to SQL - Existe-t-il un moyen de limiter la portée de SubmitChanges() ?

Existe-t-il un moyen de limiter la portée de SubmitChanges() à un sous-ensemble du domaine de données global ?

Exemple :

Bob a l'intention de mettre à jour une commande Web, mais Alice a inséré une propriété, à l'insu de Bob Bob, qui met à jour le prix d'un produit (en mémoire seulement, pas dans la base de données) lorsqu'on y écrit. Bob considère cela comme une parodie qu'il faut éviter à tout prix. Bob souhaiterait avoir pu limiter la portée de la la mise à jour au sous-domaine WebOrders.

D'après ce que j'ai compris, je dois croire que des modifications non souhaitées n'ont pas été apportées à d'autres parties du domaine par d'autres codes de l'application.

Il serait agréable de pouvoir contraindre la fonction SubmitChanges() à ne toucher que les objets situés dans un sous-ensemble du domaine.

4voto

Ladislav Mrnka Points 218632

Non, ce n'est pas possible. Le DataContext est une unité de travail ( il se comporte exactement comme le contexte dans le cadre de l'entité ) donc, tout d'abord, il ne doit pas être partagé entre plusieurs opérations d'utilisateurs. Seules les modifications de Bob doivent se trouver dans le contexte et, pour cette raison, il décide soit de sauvegarder toutes les modifications, soit de jeter le contexte (= Dispose) avec toutes les modifications.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X