API da Web, OData, $ inlinecount e teste
Anteriormente, eu tinha um controlador de API da Web que se parecia com isso:
public IQueryable<ApiDesignOverview> GetList(
string brandIds = "",
string categoryIds = "",
string query = "",
string categoryOp = "or")
Ouvi dizer que o pacote OData NuGet agora suporta o parâmetro $ inlinecount OData, então tentei adicioná-lo usando as instruções dehttp://www.asp.net/web-api/overview/odata-support-in-aspnet-web-api/supporting-odata-query-options - Eu não quero ter que usar OData atacado, pois isso implicaria uma grande quantidade de re-arquitetura do aplicativo, então eu fui para oPageResult<T>
opção.
Então agora meu controlador se parece com isso:
public PageResult<ApiDesignOverview> GetList(
ODataQueryOptions<ApiDesignOverview> options,
string brandIds = "",
string categoryIds = "",
string query = "",
string categoryOp = "or")
Meus problemas são agora:
Como faço para simular um ODataQueryOptions para teste de unidade?Se eles não podem ser ridicularizados, como eu crio um? eu preciso deODataQueryContext
para construir um, o que requer umMicrosoft.Data.Edm.IEdmModel
, o que requer ... o que? Não consigo encontrar nenhuma documentação para isso.Realmente, seria melhor se eu pudesse remover o ODataQueryOptions da assinatura do controlador como antes. Isso é possível?