代码之家  ›  专栏  ›  技术社区  ›  Kelly Robins

Linq to sql-对同一事务执行多个查询

  •  0
  • Kelly Robins  · 技术社区  · 15 年前

    一列需要有条件地从一系列值中分配一个应用程序编号。

    我想简单地增加MAX现有值,但是它是一个多用户应用程序,并且我担心如果它们发生得太近,多个合同接收相同的应用程序号。

    有没有办法强制整个事务使用同一事务,或者在同一提交过程中同时执行这两个事务?

    4 回复  |  直到 15 年前
        1
  •  2
  •   Pieter van Ginkel    15 年前

    把所有代码放在 TransactionScope :

    using (var transaction = new TransactionScope())
    {
    
         // Perform the changes
    
    
         transaction.Complete();
    }
    

    http://msdn.microsoft.com/en-us/library/system.transactions.transactionscope.aspx 有关 交易范围

        2
  •  2
  •   Steven    15 年前

    您可以创建 SqlConnection SqlTransaction DataContext :

    using (var con = new SqlConnection(...))
    {
        con.Open();
    
        using (var tran = con.BeginTransaction())
        {
            using (var db = new YourDataContext(con))
            {
                // This line is needed in .NET 3.5 (not in 4.0)
                db.Transaction = tran;
    
                // Do your stuff
    
                db.SubmitChanges();
    
                // Do more stuff
    
                db.SubmitChanges();
            }
        }
    }
    
        3
  •  0
  •   Remus    15 年前

    您可以使用一个存储过程来处理一个事务中需要的所有操作。

        4
  •  0
  •   Christopher Edwards    15 年前

    我不确定我是否理解这个问题,但是当您调用submit changes时,它会将所有更改打包到一个事务中- http://msdn.microsoft.com/en-us/library/bb399378.aspx