private static TReturn RunAsCommand <TReturn>(this IDbConnection connection, string sql, IDictionary <string, object> parameters, Func <IDbCommand, TReturn> commandFunc) { return(commandFunc(connection.BuildCommand(sql, parameters))); }