2009-04-07 72 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

相关问题