zoukankan      html  css  js  c++  java
  • 在EF4.1的DBContext中实现事务处理(BeginTransaction)和直接执行SQL语句的示例

    在EF4.1的DBContext中实现事务处理(BeginTransaction)和直接执行SQL语句的示例

     (2012-03-13 10:12:48)
     

            public ActionResult _Function21Update(string id)
            {
                GEN_PARAMETER parameter = db.GEN_PARAMETER.Find(id);
                if (TryUpdateModel(parameter))
                {

                    if (ModelState.IsValid)
                    {
                        parameter.LAST_UPDATE_DATE = DateTime.Now;
                        DbConnection con = ((IObjectContextAdapter)db).ObjectContext.Connection;
                        con.Open();
                        using(var tran = con.BeginTransaction())
                        {
                            try
                            {
                                string testsql = "update test_current set value = '" + parameter.VALUE + "'";
                                db.Database.ExecuteSqlCommand(testsql);
                                db.SaveChanges();
                                //testsql = "insert1 into test_log (text) values ('code:" + parameter.CODE + "value:" + parameter.VALUE + "')";
                                testsql = "insert into test_log (text) values ('code:" + parameter.CODE + "value:" + parameter.VALUE + "')";
                                db.Database.ExecuteSqlCommand(testsql);

                                tran.Commit();
                            }
                            catch (Exception ex)
                            {
                                tran.Rollback();
                                db.Entry(parameter).Reload();
                                Global.Logger().Error(SysAdminErr.dbSaveErr + ex.Message, ex);
                            }
                        }
                        con.Close();
                    }
                }
                return View(new GridModel(db.GEN_PARAMETER.Where(p => p.ENABLED == "0")));
            }

  • 相关阅读:
    @atcoder
    @loj
    @AGC037
    @uoj
    @uoj
    @loj
    @loj
    @loj
    @loj
    @loj
  • 原文地址:https://www.cnblogs.com/louby/p/4747811.html
Copyright © 2011-2022 走看看