ef事务

来源:互联网 发布:超星尔雅网络选修课 编辑:程序博客网 时间:2024/04/30 23:33

 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")));
        }

0 0
原创粉丝点击