2009-04-07 71 views
4

我有一些代碼,我正在使用Linq-To-SQL DataContext來添加和修改表中的記錄。我可以從linq-to-sql DataContext訪問InsertOnSubmit'd記錄列表嗎?

我遇到了一個情況,我通過InsertOnSubmit添加了一些記錄,然後我想修改一條記錄..但是這條記錄可能已經在表中,或者它可能是我的一個插入。所以這個:

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

可能無法正常工作,因爲我可能沒有實際插入的WhichId的ID的記錄呢。我不想SubmitChanges()直到我完成了我要做的所有事情。

DataContext必須保留要在SubmitChanges()上插入的記錄列表 - 我可以訪問該列表嗎?我在想這樣的事情:

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

所以問題是,有什麼我可以放在哪裏方括號?

回答

5
db.GetChangeSet().Inserts 
+0

啊,我的google-fu必須弱化。謝謝! – Blorgbeard 2009-04-07 23:31:18

相關問題