Wie stellen Sie SubmitChanges nur eine bestimmte Änderung einreichen und nicht alle bisherigen Änderungen?
-
24-09-2019 - |
Frage
Die ASP.NET Linq SubmitChanges Methode verpflichtet Änderungen für alle bisherigen Datenbankänderungen seit dem letzten Mal aufgerufen wurde.
Ich habe einen Fall, in dem ich so etwas wie folgendes tun:
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
Ich möchte y einfügen, aber nicht X in der Zeile darüber. Dann würde Ich mag X mit einem anderen Anruf SubmitChanges einzufügen () irgendwann später. Ich habe den Code in der Reihenfolge auszuführen gezeigt.
Ist das möglich? Oder soll ich etwas anderes als SubmitChanges werde () aufrufe?
Lösung
würde ich getrennte Datacontexts für diese. Der Datacontext ist einfach ein Wrapper für den Datenzugriff, und eine Reihe von ausstehenden Änderungen. Es unterstützt nicht teilweise Commits seiner Änderungsliste. InsertOnSubmit tut, was sie sagt, es tut - gibt es einen Grund, warum Sie anrufen müssen, bevor Sie tatsächlich wollen, dass es eingereicht? Vielleicht, wenn Sie auf dem Problem ausgearbeitet, die Sie in diese Ausführungsreihenfolge ist Sperre wir eine bessere Lösung bieten könnten.