0

我不明白这个交易有什么问题

如果出现错误,回滚是可以的,但提交永远不会发生,因为事务已经中断......

这里有什么问题?谢谢!

  try
           {


               using (TransactionScope scope = new TransactionScope())
               {

                   //insert dati swap nella tabella PAPER_OPERATION
                   context.PAPER_OPERATION.Add(op_paper);

                   context.SaveChanges();
                   //si richiama la sp incaricata di effettuare un post processing sui dati dello swap
                   context.SP_PAPER_OPERATION_RUN(op_paper.ID_OPERAZIONE);

                   //per quanto riguarda la prezzatura la prima volta in cui lo swap viene inserito si tratta di un inserimento ex novo di righe nella tabella PRICING_PERIOD
                   //e a seguire nella tabella R_PAPER_OPERATION_PRICING_PERIOD
                   foreach (var pp_buy_to_insert in list_pp_buy)
                   {
                       context.PRICING_PERIOD.Add(pp_buy_to_insert);
                       context.SaveChanges();
                       R_PAPER_OPERATION_PRICING_PERIOD r_oppaper_pp_buy = new R_PAPER_OPERATION_PRICING_PERIOD();
                       r_oppaper_pp_buy.ID_PRICING_PERIOD = pp_buy_to_insert.ID_PRICING_PERIOD;
                       r_oppaper_pp_buy.ID_PREZZATURA_PAPER = Convert.ToString(op_paper.ID_OPERAZIONE) + 'B';
                       context.R_PAPER_OPERATION_PRICING_PERIOD.Add(r_oppaper_pp_buy);
                       context.SaveChanges();
                   }
               id_inserted = op_paper.ID_OPERAZIONE;



                scope.Complete();
               }

                var parameter = new
                {
                    INSERTED_ID = id_inserted
                };


                return Json(parameter, JsonRequestBehavior.AllowGet);


            }
            catch (Exception e)
            {
                                }
4

0 回答 0