title: Why Web Api include properties in response that are not projected
body: <p>I have a view model</p>
  
  <pre><code>public class MyViewModel
      {
          public int Id { get; set; }
          public string FirstName { get; set; }
          public string LastName { get; set; }
          public string Position { get; set; }
          public string Email { get; set; }
          public string Office { get; set; }
          public DateTime? StartDate { get; set; }
          public int? Age { get; set; }
          public int? Salary { get; set; }
          public int? Extn { get; set; }
      }
  </code></pre>
  
  <p>And I am doing projection on my entity</p>
  
  <pre><code> public List&lt;ViewModel.StaffViewModel&gt; GetAll()
          {
              var context = new GistDemoDbEntities();
  
              var model = context.Staff
                  .Select(s =&gt; new ViewModel.StaffViewModel
                  {
                      FirstName = s.FirstName,
                      LastName = s.LastName,
                      Position = s.Position,
                      Salary = s.Salary
                  }).ToList();
  
              return model;
          }
  </code></pre>
  
  <p>And use Web Api to return back as json, but in reponse I found out it includes other properties as well that define in the View Model with vlaue null. I only want to have those properties that I need in reponse, how is it possible?</p>