public void OnActionExecuting(ActionExecutingContext context) { int id; if (context.ActionArguments.ContainsKey("id")) { id = (int)context.ActionArguments["id"]; } else { context.Result = new BadRequestObjectResult("Bad id parameter"); return; } var entity = _context.Set <T>().SingleOrDefault(x => x.Id == id); if (entity == null) { context.Result = new NotFoundResult(); } else { context.HttpContext.Items.Add("entity", entity); } }