J'ai une liste déroulante dans mon application WPF qui est databound à ma liste d'objets dans mon modèle Voir. Lorsque l'utilisateur modifie l'objet sélectionné puis sélectionne un autre élément avant de l'enregistrer, je dois effacer les modifications apportées.Comment effacer les changements dans LinqToSql?
Je pensais pouvoir utiliser dataContext.GetChangeSet(). Updates.Clear() mais pour une raison quelconque, la collection est en lecture seule.
J'ai également essayé d'utiliser dataContext.Refresh mais cela ne fonctionne pas car l'objet n'existe pas dans la base de données, je l'ai créé manuellement à partir d'un SP.
Aidez-nous s'il vous plaît. Merci.
Vous dites donc de créer essentiellement une nouvelle datacontext et aller chercher la données à nouveau? Si c'est le cas, c'est très lent car ma collection contient beaucoup d'objets. J'espérais qu'il y aurait une copie de l'objet quelque part afin que tout changement puisse être annulé (comme une fonction d'annulation). – HAdes
Il existe une ancienne version dans le tracker de changement; mais l'idée d'un contexte de données est que ce soit une unité de travail; pas une base de données. IMO, on dirait que vous chargez simplement trop de données pour commencer ... –
oh ok donc il y a une ancienne version que je peux utiliser, où est-ce s'il vous plaît? Je comprends votre point de vue sur le chargement trop, mais je ne peux pas voir une alternative, merci. – HAdes