A adição de um novo controlador OData falha no controlador existente

Estou construindo uma amostra de duas amostras OData da API da Web, cada uma delas funcionando bem como um projeto separado. Mas quando adiciono a segunda classe ODataController, o site não funciona mais reclamando dos modelos de caminho OData que funcionavam anteriormente. Aqui estão mais detalhes:

A ação a seguir funciona bem, desde que seu controlador (ProductsController) seja o único controlador:

[HttpGet]
[ODataRoute("GetSalesTaxRate(state={state})")]
public IHttpActionResult GetSalesTaxRate([FromODataUri] string state)
{
    return Ok(GetRate(state));
}

Agora eu adiciono um novo controlador (MoviesController) com algumas ações.

Eu estendo a classe Owin Startup para que fique assim:

public void Configuration(IAppBuilder builder)
{
    var config = new HttpConfiguration();

    config.MapODataServiceRoute(routeName: "functions route", routePrefix: "functions", model: FunctionStartup.GetEdmModel());
    config.MapODataServiceRoute(routeName: "actions route", routePrefix: "actions", model: ActionStartup.GetEdmModel());

    builder.UseWebApi(config);
}

No entanto, quando tento executar uma solicitação da Web (URLBASE / functions / $ metadata), recebo o seguinte erro:

System.InvalidOperationExceptionO modelo de caminho 'GetSalesTaxRate (state = {state})' na ação 'GetSalesTaxRate' no controlador 'Produtos' não é um modelo de caminho OData válido. Recurso não encontrado para o segmento 'GetSalesTaxRate'.

Os controladores são mapeados para diferentes rotas ("funções" e "ações"). Pode ser que o problema seja que cada rota seja mapeada para seu próprio EdmModel?

ATUALIZAR. Eu verifiquei que posso adicionar mais controladores, desde que eles se refiram ao mesmo modelo EDM. Mas uma vez que eu apresento um segundo modelo (e o referencio de MapODataServiceRoute), todo o serviço é interrompido. Existe alguma solução alternativa para oferecer suporte a vários modelos?

ATUALIZAÇÃO 2. Se eu subclassificar DefaultHttpControllerTypeResolver e ativar apenas um único controlador (qualquer um deles), também funcionará bem. Mas ainda estou confuso por que vários controladores que usam modelos diferentes falham.

questionAnswers(1)

yourAnswerToTheQuestion