2010-10-28 6 views
1

i eu une erreur sur une requête LINQ quand j'ai essayé de le faire SubmitChanges()LINQ to SQL continuer erreur

le problème est que tout ce que je tente de faire dans mon projet maintenant je reçois le même erreur (Je suppose que le linq essaie toujours de faire le changement d'erreur)

comment puis-je nettoyer les changements de pendage ou traiter cette question autrement?

Merci!

+0

double possible de [? Comment puis-je rejeter tous les changements dans un Linq à DataContext SQL] (http://stackoverflow.com/questions/259219/how-can-i-reject-all-changes-in-a-linq-to-sqls-datacontext) – leppie

Répondre

0

Vous devez les supprimer de la 'file d'attente'.

Le plus simple est juste l'appel GetChanges, et faire toutes les actions à l'envers. Par exemple, les insertions deviennent des suppressions, etc.

Here est une méthode d'extension que j'ai écrite qui fonctionne pour les cas simples (modifiez-la comme vous voulez).

+0

Je pense qu'il est préférable d'utiliser: db.GetChangeSet(). Updates.Clear() pour mise à jour, db.GetChangeSet(). Inserts.Clear() pour new ou db.GetChangeSet(). Deletes.Clear() pour les éléments supprimés. Thansks! –

+0

Eh bien cela fonctionnerait, IFF il avait une méthode claire de travail .... Toutes ces listes sont en lecture seule, donc cela ne fonctionne pas dans la pratique. – leppie

-2

utilisation: db.GetChangeSet().Updates.Clear() pour mise à jour, db.GetChangeSet().Inserts.Clear() nouvelles ou db.GetChangeSet().Deletes.Clear() pour les éléments supprimés

pour plus d'informations: Click

+0

Je vous l'ai déjà dit, Clear ne fonctionne pas. Il va lancer une exception. Essayez-le. – leppie

+0

la liste est en lecture seule – zsf222