首页 > 解决方案 > 多个原始更新命令的实体框架事务

问题描述

我是使用 Postgresql 实体框架事务的新手。我需要执行多个UPDATE查询。

using (DbContextTransaction transaction = context.Database.BeginTransaction())
{
    try
    {
        context.Database.ExecuteSqlCommand("Update table1 ....");
        context.Database.ExecuteSqlCommand("Update table2 ....");
        context.Database.ExecuteSqlCommand("Update table3 ....");

        transaction.Commit();
    }
    catch (Exception ex)
    {
        transaction.Rollback();
    }
}

问题

  1. 我应该context.SaveChanges()对所有更新命令使用方法吗?
  2. 如果 table2 或 table3 命令失败,table1 命令会回滚吗?

标签: sqlpostgresqlentity-frameworkentity-framework-corenpgsql

解决方案


推荐阅读