c# - 我可以从 linq-to-sql DataContext 访问 InsertOnSubmit 的记录列表吗?

标签 c# linq linq-to-sql

我有一些代码,我使用 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";

所以问题是,我可以在方括号所在的位置放置什么吗?

最佳答案

db.GetChangeSet().Inserts

关于c# - 我可以从 linq-to-sql DataContext 访问 InsertOnSubmit 的记录列表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/727941/

相关文章:

c# - 使用 sum 和 group by 将 Sql Query 转换为 linq

c# - 显示属于域用户的组

c# - 如何设置默认的 NHibernate CommandTimeOut 默认值

c# - 生成带有 XML 注释的 WCF(windows 服务托管)客户端代理类?

c# - 如何在 Linq C# 中使用分区?

asp.net - 在 Linq-to-SQL 中使用 WHERE 子句时出错

C# 在运行时覆盖方法

c# - 所有值的计数均为零的频率表

c# - 先读取 IEnumerable 或等待其完成更改

c# - LinqToSQL - 用大量表映射 DataContext?