Comment faites-vous SubmitChanges soumettre seulement un changement particulier et ne sont pas tous les changements précédents?

StackOverflow https://stackoverflow.com/questions/2174068

Question

La méthode SubmitChanges de LINQ ASP.NET engage des modifications pour toutes les modifications de la base de données précédentes depuis la dernière fois qu'il a été appelé.

J'ai un cas où je fais quelque chose comme ce qui suit:

ClassX x = new Abc.Linq.ClassX();
DataContext.InsertOnSubmit(x);

ClassY y = new Abc.Linq.ClassXY();
DataContext.InsertOnSubmit(y);

DataContext.SubmitChanges();//x and y are committed to the database

Je voudrais insérer y mais pas X dans la ligne ci-dessus. Ensuite, je voudrais insérer X avec un autre appel à SubmitChanges () un peu plus tard. Je dois exécuter le code dans l'ordre indiqué.

Est-ce possible? Ou devrais-je appeler autre chose que SubmitChanges ()?

Était-ce utile?

La solution

J'utiliser DataContexts séparés pour cela. Le DataContext est tout simplement une enveloppe pour l'accès aux données, et un ensemble de modifications en attente. Il ne supporte pas commits partielle de ses modifications. InsertOnSubmit fait ce qu'il dit qu'il fait - est-il une raison que vous devez appeler avant que vous voulez réellement soumis? Peut-être que si vous le problème Elaboré qui est vous enfermer dans cet ordre d'exécution, nous pourrions fournir une meilleure solution.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top