Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

EF:Làm cách nào để gọi SaveChanges hai lần trong một giao dịch?

Tôi biết đó là câu trả lời muộn nhưng tôi thấy hữu ích khi chia sẻ.

Hiện có trong EF6 sẽ dễ dàng hơn để đạt được điều này bằng cách sử dụng dbContext.Database.BeginTransaction()

như thế này:

using (var context = new BloggingContext())
{
    using (var dbContextTransaction = context.Database.BeginTransaction())
    {
        try
        {
            // do your changes
            context.SaveChanges();

            // do another changes
            context.SaveChanges();

            dbContextTransaction.Commit();
        }
        catch (Exception)
        {
            dbContextTransaction.Rollback();
        }
    }
}

để biết thêm thông tin, hãy xem điều này

một lần nữa nó ở EF6 trở đi



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. .NET Giao dịch và Trình quản lý Giao dịch Nhẹ SQL 2005 - Nhiều Kết nối cùng một SPID?

  2. Cách chuyển đổi chuỗi thành số nguyên - định dạng kỳ lạ

  3. Không thể mở cơ sở dữ liệu vì nó là phiên bản 851. Máy chủ này hỗ trợ phiên bản 782 trở về trước. Đường dẫn hạ cấp không được hỗ trợ

  4. Làm thế nào để loại bỏ bất kỳ số cuối cùng nào khỏi một chuỗi?

  5. SQL Server:Rò rỉ mức cách ly trên các kết nối được gộp chung