Пример #1
0
        /// <summary>
        /// 开启事务
        /// </summary>
        public virtual void BeginTransaction()
        {
            if (!Enabled)
            {
                return;
            }

            if (_transaction?.Connection == null)
            {
                if (_connection.State != ConnectionState.Open)
                {
                    _connection.Open();
                }
                _transaction = _connection.BeginTransaction();
            }

            if (_dbContext.IsRelationalTransaction())
            {
                _dbContext.Database.UseTransaction(_transaction);
            }
            else
            {
                _dbContext.Database.BeginTransaction();
            }


            HasCommitted = false;
        }