Como fornecer formatos de tipo de mídia personalizados para o OData Api

Estou desenvolvendo um aplicativo ASP.NET que usa ODataApiController. O aplicativo mostra aos usuários uma grade consultando dados e mostrando-os em uma tabela. Gostaria de exportar para vários formatos diferentes, incluindo CSV e um formato XML personalizado. Idealmente, eu aceitaria a mesma consulta OData usada pela grade, definiria o cabeçalho Aceita e retornaria CSV ou XML.

Eu criei MediaTypeFormatters para fazer o que eu preciso, mas eles funcionam apenas com ApiController "regular", não com ODataApiController. Observando o código no github, vejo que o OData possui seu próprio esquema MediaTypeFormatter para lidar com vários casos, e construído em formatadores XML e JSON. Mas não vejo como conectar-se a isso para fornecer formatos personalizados. Eu tentei herdar ODataMediaTypeFormatter, mas um ponto de interrupção definido nunca é atingido.

Eu só estou realmente interessado em formatos de saída aqui. Como posso estender o OdataApi para gerar diferentes formatos?

questionAnswers(1)

yourAnswerToTheQuestion