none
linq to sql插入记录到主从表 RRS feed

  • 问题

  • 您好,我在用linq to sql 插入记录到主从表的时候建了主从表 orders ,orderdetail

    底层代码如下:

        public void Insert(Model.Orders orders, EntitySet<Model.OrderDetails> result)

            {

                FeitianDataContext ft = new FeitianDataContext();

                ft.Orders.InsertOnSubmit(orders);

                ft.SubmitChanges();

                foreach (Model.OrderDetails orderdet in result)

                {

                    ft.OrderDetails.InsertOnSubmit(orderdet);

                    ft.SubmitChanges();

                }  

            }

    在web层把model.orders和model.orderdetail模型实例化.程序能正常运行 。但是严格来说应该用数据库事务,请问这样的情况该怎么加入数据库事务呢.希望能把我现在的代码加上事务,谢谢

     

    2011年2月23日 5:11

答案

  • 你好!

    SubmitChanges 会启动默认事务的。另外你的代码建议改为下面的方式

    public void Insert(Model.Orders orders, EntitySet<Model.OrderDetails> result)
    {
      using (FeitianDataContext ft = new FeitianDataContext())
      {
        ft.Orders.InsertOnSubmit(orders);
        foreach (Model.OrderDetails orderdet in result)
          ft.OrderDetails.InsertOnSubmit(orderdet);
    
        ft.SubmitChanges();
      }
    }
    


    知识改变命运,奋斗成就人生!
    2011年2月24日 4:54
    版主