title: Web API 2 Odata V4 PATCH return 404
body: <p>I have this controller :</p>
  
  <pre><code>using System.Web.Http;
  using System.Web.OData;
  
  public class InvRecipientAutoInvoiceController : ODataController
      {
          // GET: odata/InvRecipientAutoInvoice
          [EnableQuery]
          public IQueryable&lt;Inv_RecipientAutoInvoice&gt; GetInvRecipientAutoInvoice()
          {
              return db.Inv_RecipientAutoInvoice.Where(a=&gt;a.CompanyNumber == CompanyNumber);
          }
  
      [AcceptVerbs("PATCH", "MERGE")]   
      public IHttpActionResult Patch([FromODataUri] int RecipientNumber , [FromODataUri] int RecipientType, Delta&lt;Inv_RecipientAutoInvoice&gt; patch)
          {
              // XXXX Some Update Code
          }
      }
  </code></pre>
  
  <p>The GET works and I get result and can even sort them.
  but when I do a PATCH request,  I get 404 error ,
  the PATCH request : </p>
  
  <p>Request URL: <a href="http://localhost:61240/odata/InvRecipientAutoInvoice(RecipientNumber%3D443%2CRecipientType%3D400)" rel="nofollow">http://localhost:61240/odata/InvRecipientAutoInvoice(RecipientNumber%3D443%2CRecipientType%3D400)</a></p>
  
  <pre><code>   Request Method: PATCH
  </code></pre>
  
  <ul>
  <li>Response Body :</li>
  </ul>
  
  <blockquote>
    <p>{   "error":{
        "code":"","message":"No HTTP resource was found that matches the request URI
    '<a href="http://localhost:61240/odata/InvRecipientAutoInvoice(RecipientNumber=443,RecipientType=400)" rel="nofollow">http://localhost:61240/odata/InvRecipientAutoInvoice(RecipientNumber=443,RecipientType=400)</a>'.","innererror":{
          "message":"No action was found on the controller 'InvRecipientAutoInvoice' that matches the
    request.","type":"","stacktrace":""
        }   } }</p>
  </blockquote>
  
  <ul>
  <li>Request body  :</li>
  </ul>
  
  <blockquote>
  <pre><code>{"InvoiceLine1Description":"32132"}
  </code></pre>
  </blockquote>
  
  <p>I am using it in an  ASP.net web project (not MVC), </p>
  
  <p>the register is :</p>
  
  <pre><code>config.MapODataServiceRoute(
  routeName: "ODataRoute",
  routePrefix: "odata",
  model: builder.GetEdmModel());
  </code></pre>
  
  <p>what am i missing?</p>