CSFramework.EF 数据库框架 - 使用 BeginTransation 方法启动事务


C# 全选
//
//测试事务2,www.csframework.com
//
string connString = ConfigurationManager.ConnectionStrings["Normal"].ConnectionString.ToString();
IDatabase db = DatabaseFactory.GetDatabase(DatabaseType.SqlServer, connString);

var list = db.GetQueryable<tb_PO>().OrderByDescending(o => o.PODate).Take(10).ToList();

var result = "";

try
{
    db.BeginTransaction();

    //修改第1条
    var obj = list.First();
    obj.Remark = "RunTransaction修改了:" + obj.Remark;
    result += db.Update<tb_PO>(obj);

    //删除最后1条
    result += db.Remove(list.Last());

    //add
    var newObj = new tb_PO();
    newObj.ISID = IdHelper.GetId();
    newObj.PODate = DateTime.Now;
    newObj.PONO = DocNoHelper.GetDocNo(db, "EF", 8, "admin");
    newObj.CustomerCode = DocNoHelper.GetDataSN(db, "EF", true, 8, "-");
    newObj.Remark = DocNoHelper.GetDataSN(db, "DB", true, 8, "-");
    result += db.Add<tb_PO>(newObj);

    //抛出异常
    int div = 0;
    var r = 1 / div;

    db.CommitTransaction();
}
catch
{
    db.RollbackTransaction();
    throw;
}
版权声明:本文为开发框架文库发布内容,转载请附上原文出处连接
C/S框架网
上一篇:CSFramework.EF 数据库框架 - 使用 RunTransaction 启动事务
下一篇:CSFramework.EF 数据库框架 - 测试同步方法
评论列表

发表评论

评论内容
昵称:
关联文章

CSFramework.EF 数据库框架 - 使用 BeginTransation 方法启动事务
CSFramework.EF 数据库框架 - 使用 RunTransaction 启动事务
CSFramework.EF数据库框架简介
CSFramework.EF 数据库框架 - 获取数据库元数据 (meta方法)
CSFramework.EF 数据库框架 - 测试同步方法
CSFramework.EF 数据库框架 - 测试 Add 方法新增对象
CSFramework.EF 数据库框架 - 测试 Remove 方法删除对象
CSFramework.EF 数据库框架 - 测试 Update 方法更新对象
CSFramework.EF 数据库框架 - 测试异步方法 (Async)
DAL层重写Update方法手工启动事务
CSFramework.EF 数据库框架 - 测试 BulkInsert 方法极速插入对象
CSFramework.EF 数据库框架 - 创建数据库实例 IDatabase
IDatabase接口使用事务DbTransaction实例
Entity Framework(EF)测试DbContext.Database.ExecuteSqlCommand方法删除记录
C/S开发框架事务处理机制
数据字典重写SaveResultEx UpdateEx方法手动控制事务自动生成流水号
使用DbProviderFactories.GetFactory方法需要配置数据库提供者
dalMenu.cs,手工启动事务需要在构造器内指定参数_UserManualControlTrans = true
C#.NET 实体框架EF(Entity Framework)详解
高级版V3.0-公共数据字典出现重复启动事务导致异常