• Entity Framework 6.0 Tutorials(6):Transaction support


    Transaction support:

    Entity Framework by default wraps Insert, Update or Delete operation in a transaction, whenever you execute SaveChanges(). EF starts a new transaction for each operation and completes the transaction when the operation finishes. When you execute another such operation, a new transaction is started.

    EF 6 has introduced database.BeginTransaction and Database.UseTransaction to provide more control over transactions. Now, you can execute multiple operations in a single transaction as shown below:

    using (System.Data.Entity.DbContextTransaction dbTran = context.Database.BeginTransaction( ))
    {
            try
            {
                Student std1 = new Student() { StudentName = "newstudent" };
                context.Students.Add(std1);
                context.Database.ExecuteSqlCommand(
                    @"UPDATE Student SET StudentName = 'Edited Student Name'" +
                        " WHERE StudentID =1"
                    );
                context.Students.Remove(std1);
    
                //saves all above operations within one transaction
                context.SaveChanges();
    
                //commit transaction
                dbTran.Commit();
            }
            catch (Exception ex)
            {
                //Rollback transaction if exception occurs
                dbTran.Rollback();
            }
    
    }

    database.UseTransaction allows the DbContext to use a transaction which was started outside of the Entity Framework.

    Download DB First sample project for Transactions demo.

  • 相关阅读:
    HDFS文件操作(基本文件命令)
    <a> 标签
    css text-overflow
    zepto.js 打包自定义模块
    CSS3 box-sizing
    CSS3 Filter
    JQ 导出 Excel
    outline css2
    iphone 操作手势种类
    动手写一个简单的Web框架(模板渲染)
  • 原文地址:https://www.cnblogs.com/purplefox2008/p/5649547.html
Copyright © 2020-2023  润新知