Le chemin d'accès d'un modèle de l'action dans le contrôleur n'est pas valide OData chemin modèle

J'obtiens l'erreur suivante:

Le chemin d'accès du modèle 'GetClients()' sur l'action "GetClients' controller 'Clients' n'est pas valide OData chemin de modèle. Ressource introuvable pour le segment 'GetClients'.

Mon contrôleur méthode ressemble à ce

public class ClientsController : ODataController
{
    [HttpGet]
    [ODataRoute("GetClients(Id={Id})")]
    public IHttpActionResult GetClients([FromODataUri] int Id)
    {
        return Ok(_clientsRepository.GetClients(Id));
    }
}

Mon WebAPIConfig fichier a

builder.EntityType<ClientModel>().Collection
       .Function("GetClients")
       .Returns<IQueryable<ClientModel>>()
       .Parameter<int>("Id");

config.MapODataServiceRoute(
    routeName: "ODataRoute",
    routePrefix: "odata",
    model: builder.GetEdmModel());

J'espère être en mesure d'appeler le odata api rest comme ceci:

http://localhost/odata/GetClients(Id=5)

Une idée de ce que je fais de mal?

OriginalL'auteur Nate | 2014-07-07