一系列的行更新是原子的吗(L2S数据上下文)?如果不是,我怎么能让他们这样
本文关键字:如果不 怎么能 他们 上下文 更新 原子的 数据 L2S 一系列 | 更新日期: 2023-09-27 18:03:21
我有一个Save()方法,使用Linq2Sql DataContext保存行。
private void Save(object sender, EventArgs e)
{
Validate();
selectNumUnitsByPidCdCostRevBindingSource.EndEdit();
var db = new AccountingDataClassesDataContext(true);
unitCountDataSet
.GetChanges(DataRowState.Modified).Tables[0].Rows
.Cast<EomApp1.Formss.Accounting.Data.UnitCountDataSet.SelectNumUnitsByPidCdCostRevRow>().ToList()
.ForEach(row =>
{
db.Items.First(item => item.id == row.id).num_units = row.num_units;
});
db.SubmitChanges();
Fill();
}
这是我第一次真正想要确保多个更新作为单个批处理发生(全部或没有)-我只是不确定SubmitChanges()的结果是否会是这样。
如果答案是否定的,那么如何将其放入事务中呢?
SubmitChanges()调用将创建一个不存在的新事务,所以这些更改将是原子性的。
基本上你是在这些文档中描述的第三种情况:
http://msdn.microsoft.com/en-us/library/bb386995 (v =应用程序). aspx