【发布时间】:2009-04-07 23:10:22
【问题描述】:
我有一些代码使用 Linq-To-SQL DataContext 来添加和修改表中的记录。
我遇到了一种情况,我通过 InsertOnSubmit 添加了几条记录,然后我想修改一条记录.. 但是这条记录可能已经在表中,或者它可能是我正在插入的记录之一.所以这个:
db.MyTable.Single(t => t.Id == WhichId).Name="foobar";
可能不起作用,因为我可能还没有实际插入 ID 为 WhichId 的记录。
我真的不想SubmitChanges(),直到我完成了我要做的所有事情。
DataContext 必须保留要在 SubmitChanges() 上插入的记录列表 - 我可以访问该列表吗?我正在考虑这样的事情:
(db.MyTable.SingleOrDefault(t => t.Id == WhichId) ??
db.[list of records to be inserted].Single(t => t.Id == WhichId)
).Name="foobar";
所以问题是,我可以在方括号的位置放什么吗?
【问题讨论】:
标签: c# linq linq-to-sql