public IDbCommand CreateCommand(string sql) { if (!StoreConnection.State.HasFlag(ConnectionState.Open)) { StoreConnection.Open(); } var command = StoreConnection.CreateCommand(); command.Connection = StoreConnection; command.CommandText = sql; command.CommandTimeout = CommandTimeout; if (_transactionCount > 0 && Transaction != null) { command.Transaction = Transaction.UnderlyingTransaction; } return(command); }