Wie stellen Sie SubmitChanges nur eine bestimmte Änderung einreichen und nicht alle bisherigen Änderungen?

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

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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top