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

2012-12-12 10:39             5538人阅读             评论(0)             收藏              举报        
本文章已收录于:

 

 
 

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

 

Linq EF 添加数据执行事务处理的更多相关文章

  1. ef添加数据时出错 System.Data.Entity.Infrastructure.DbUpdateConcurrencyException”类型的异常

    找半天才找到 ef添加数据时出错原因:数据库表中没有主键 ,就算表中有自增列 Added方法也会报错: -        this._db.SaveChanges() “this._db.SaveCh ...

  2. mvc+linq+EF对数据表的查删改

    /// <summary> /// 查询数据库中学生姓名 /// </summary> /// <returns></returns> public A ...

  3. EF批量添加数据性能慢的问题的解决方案

    //EF批量添加数据性能慢的问题的解决方案 public ActionResult BatchAdd() { using (var db = new ToneRoad.CEA.DbContext.Db ...

  4. VB.NET中使用Linq TO SQL添加数据后获得自增长列ID

    VB.NET中使用Linq TO SQL添加数据后获得自增长列ID: Dim tempOrdre As New Order With { .CustomerID = cmbCustomerName.S ...

  5. 【转发】Linq To EF添加记录后获取添加的自增ID和叫“ID”的列不是自增列不让插入的问题

    1:添加记录后,如何获取新添加的ID的值 比如,一个实体 TestEntity   对应一个表TestEntity(ID主键自增,Name,age),使用linq to ef   添加一条记录后,如何 ...

  6. Linq To EF (添加记录后获取添加的自增ID和叫“ID”的列不是自增列不让插入的问题)

    1:添加记录后,如何获取新添加的ID的值 比如,一个实体 TestEntity   对应一个表TestEntity(ID主键自增,Name,age),使用linq to ef   添加一条记录后,如何 ...

  7. EF大数据批量添加性能问题(续)

    昨天在园子里发了一篇如题的文章EF大数据批量添加性能问题,就引来一大堆的吐槽,我认为知识就应该这样分享出来,不然总以为自己很了不起:再说说昨天那篇文章,很多自认为很牛逼的人都评论说把SaveChang ...

  8. MVC学习笔记(三)—用EF向数据库中添加数据

    1.在EFDemo文件夹中添加Controllers文件夹(用的是上一篇MVC学习笔记(二)—用EF创建数据库中的项目) 2.在Controllers文件夹下添加一个空的控制器(StudentsCon ...

  9. EF 通过导航添加数据

    Fluent Api是指定模型与数据库表之间的对应关系 //一对多 this.HasOptional(x => x.主表).WithMany(x => x.多表).HasForeignKe ...

随机推荐

  1. [android] 新闻客户端主界面部分

    当我们使用activity加fragment的时候,每个界面都要建立一个fragment,每个fragment里面都要重写onCreate(),onCreateView(),onActivityCre ...

  2. RabbitMQ安装教程

    最近几天在学习Spring Cloud,在学习Spring Cloud Config配置刷新使用Spring Cloud Bus时,其中用到消息代理组件RabbitMQ,在安装RabbitMQ的过程查 ...

  3. 关于UltraWinGrid选中行只读设置

    刚开始设置了 一些属性不起作用,后来检查下属性发现一旦对DataSource赋值 则属性会被重置 如果是通过绑定DataSet的方式 则需要再后面设置 ].Override.CellClickActi ...

  4. 08:Vigenère密码

    08:Vigenère密码 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  65536kB 描述 16世纪法国外交家Blaise de Vigenère设计了一种多表密码加密算法— ...

  5. 【代码笔记】iOS-在Block中修改外部变量值的

    一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, ...

  6. [基础知识]row类visible使用

    使用row的visibe属性,要反向遍历rowset,因为如果正向遍历,rowset是实时变化的,行号是错误的.正确代码如下: Local integer &k; For &k = & ...

  7. SharePoint Server 2013安装

    坑死人不偿命的呀 在Windows Server 2012 R2上安装SharePoint Server 2013,安装了半天,结果卡在“Windows Server AppFabric”安装错误上, ...

  8. Monkey Android app稳定性测试工具之Monkey使用教程

    Monkey Android app稳定性测试工具之Monkey使用教程 by:授客 QQ:1033553122 由于篇幅问题,仅提供百度网盘下载链接: Android app稳定性测试工具之Monk ...

  9. Python笔记(五):异常处理和数据存储

    注:和上一篇有关联 (一)  finally 和 输出异常信息 try:       the_man = open(r'C:\Users\123456\Desktop\test.txt')       ...

  10. CSS 实例之翻转图片

    具体效果图如下: 主要用到的技术除了3D翻转和定位 ,还用到了一个新的属性 backface-visibility:visable|hidden; 该属性主要是用来设定元素背面是否可见. 具体的步骤如 ...