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);
};
}