一系列的行更新是原子的吗(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()的结果是否会是这样。

如果答案是否定的,那么如何将其放入事务中呢?

一系列的行更新是原子的吗(L2S数据上下文)?如果不是,我怎么能让他们这样

SubmitChanges()调用将创建一个不存在的新事务,所以这些更改将是原子性的。

基本上你是在这些文档中描述的第三种情况:

http://msdn.microsoft.com/en-us/library/bb386995 (v =应用程序). aspx

相关文章: