title: Controller parameter does not become null
body: <p>I ran into the following problem:</p>
  
  <p>I've got a asp.net mvc 5 controller with a reference type as a parameter:</p>
  
  <pre><code>    [Route("")]
      [HttpGet]
      public ActionResult GetFeeds(Location location)
      {
          if (location == null)
          {
              // init location or smth
          }
  
          // Do smth with location
  
          return new EmptyResult();
     }
  </code></pre>
  
  <p>You will notice that I'm using AttributeRouting. There are NO other methods with the name of this action.</p>
  
  <p>However - this is my location class:</p>
  
  <pre><code>    public class Location : ILocation
      {
         public DbGeography Coordinates { get; set; }
  
         public double Latitude { get; set; }
  
         public double Longitude { get; set; }
      }
  </code></pre>
  
  <p>Nothing special here (the interface defines all of those properties).</p>
  
  <p>If I'm accessing the controllers action (actually using powershell) and passing something like: </p>
  
  <pre><code>http://localhost:2000/Feed?latitude=23.1&amp;longitude=37
  </code></pre>
  
  <p>everthing works fine but if I'm using</p>
  
  <pre><code>http://localhost:2000/Feed
  </code></pre>
  
  <p>the location parameter is NOT null (it is a new Location with default values), which is the behavior I want to have :( .</p>
  
  <p>Does anyone have an idea why this happens?</p>
  
  <p>Thanks in advance</p>