Any Idea why my parameter is being returned as a null? Here is my controller.
[HttpPost]
[EnableQuery]
public IHttpActionResult LoadReports(ODataActionParameters parameters)
{
if (!ModelState.IsValid)
{
throw new HttpResponseException(HttpStatusCode.BadRequest);
}
int key = (int)parameters["id"];
int year = (int)parameters["year"];
return Ok(_reportsRepository.GetReports(key, year).Single());
}
---My EntitySet
builder.EntitySet<Report>("Reports");
--MyEntity binding
var action = builder.Entity<Report>().Collection.Action("LoadReports");
action.Parameter<int>("id");
action.Parameter<int>("year");
action.ReturnsFromEntitySet<Report>("Reports");
--My URL Call
http://localhost:6064/odata/Reports/LoadReports?id=5&year=2011
--My Error Message
ReportsController.LoadReports(ODataActionParameters parameters) in \Controllers\ReportsController.cs:line 56
at lambda_method(Closure , Object , Object[] )
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass10.<GetExecutor>b__9(Object instance, Object[] methodParameters)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.Execute(Object instance, Object[] arguments)
at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary`2 arguments, CancellationToken cancellationToken)