Aspectacular.SqlUtils.AttachSqlConnectionAttribs C# (CSharp) Method

AttachSqlConnectionAttribs() public static method

Adds SQL Server command attributes which improves query performance.
public static AttachSqlConnectionAttribs ( this sqlConn, Action optionalPostProcessingFunc = null ) : void
sqlConn this
optionalPostProcessingFunc Action
return void
        public static void AttachSqlConnectionAttribs(this SqlConnection sqlConn, Action<SqlConnection> optionalPostProcessingFunc = null)
        {
            if(sqlConn == null)
                return;

            sqlConn.StateChange += (sender, e) =>
            {
                if(SqlConnectionAttributes == null)
                    return;

                if(e.CurrentState != ConnectionState.Open)
                    return;

                SqlConnection sqlConnection = (SqlConnection)sender;

                using(SqlCommand cmd = sqlConnection.CreateCommand())
                {
                    cmd.CommandType = CommandType.Text;
                    cmd.CommandText = SqlConnectionAttributes;
                    cmd.ExecuteNonQuery();
                }

                if(optionalPostProcessingFunc != null)
                    optionalPostProcessingFunc(sqlConnection);
            };
        }