Entity Framework 的事务 DbTransaction

事务代码实现如下:

public static void Transaction()
{
    myitEntities entity = null;
    DbTransaction tran = null;
    try
    {
    entity = new myitEntities();
    entity.Connection.Open();
    tran = entity.Connection.BeginTransaction();
    Student st = entity.Student.FirstOrDefault(c => c.StudentID == 20);
    st.StudentName = "test";
    st.Age = 55;
    entity.SaveChanges();
    // 提交事务
    tran.Commit();

    }
    catch (Exception ex)
    {
    if (tran != null)
    {
        // 事务回滚
        tran.Rollback();
        Console.WriteLine("事务回滚");
        throw ex;
    }
    }
    finally {
    if (entity != null && entity.Connection.State != ConnectionState.Closed)
    {
        entity.Connection.Close();
    }
    }
}

 

posted @ 2014-12-31 17:14  悠悠清风~  阅读(416)  评论(0编辑  收藏  举报