4 Stimmen

Kann ich auf die Liste der InsertOnSubmit-Datensätze von einem linq-to-sql DataContext zugreifen?

Ich habe einige Code, wo ich einen Linq-To-SQL DataContext verwenden, um Datensätze in einer Tabelle hinzufügen und ändern.

Ich habe in einer Situation laufen, wo ich ein paar Datensätze über InsertOnSubmit hinzufügen, und dann möchte ich einen Datensatz ändern.. aber dieser Datensatz kann bereits in der Tabelle sein, oder es kann einer derjenigen, die ich einfügen sein. Also dies:

db.MyTable.Single(t => t.Id == WhichId).Name="foobar";

Könnte nicht funktionieren, da ich den Datensatz mit einer Id von WhichId noch nicht.

Ich möchte nicht wirklich SubmitChanges() bis ich alles getan habe, was ich vorhabe zu tun.

Der DataContext muss eine Liste von Datensätzen führen, die bei SubmitChanges() eingefügt werden sollen - kann ich auf diese Liste zugreifen? Ich denke an etwas wie dies:

(db.MyTable.SingleOrDefault(t => t.Id == WhichId) ??
 db.[list of records to be inserted].Single(t => t.Id == WhichId)
).Name="foobar";

Die Frage ist also: Gibt es etwas, das ich an die Stelle dieser eckigen Klammern setzen kann?

5voto

bytebender Punkte 7216
db.GetChangeSet().Inserts

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X