title: Why is my full view model not being serialized by ApiController?
body: <p>I have the following type hierarchy for <code>ClientIndexModel</code>:</p>
  
  <pre><code>public class ViewModel
  {
      public virtual IDictionary&lt;string, SelectList&gt; SelectListDictionary
      {
          get
          {
              var props = GetType().GetProperties().Where(p =&gt; p.PropertyType == typeof(SelectList));
              return props.ToDictionary(prop =&gt; prop.Name, prop =&gt; (SelectList)prop.GetValue(this, null));
          }
      }
  }
  public class IndexModel&lt;TIndexItem, TEntity&gt; : ViewModel where TIndexItem : ViewModel where TEntity : new()
  {
      public List&lt;TIndexItem&gt; Items { get; private set; }
  }
  public class ClientIndexModel: IndexModel&lt;ClientIndexItem, Client&gt;
  {
  }
  </code></pre>
  
  <p>I instantiate in and return a <code>ClientIndexModel</code> from an ApiController as follows:</p>
  
  <pre><code>public ClientIndexModel Get()
  {
      var model = new ClientIndexModel();
      return model;
  }
  </code></pre>
  
  <p>If I inspect <code>model</code> with a breakpoint on the <code>return model;</code> line, the <code>Items</code> property is present, with a count of 0. Yet the JSON returned from this action only has the <code>SelectListDictionary</code> property and no <code>Items</code> property. Why could this be?</p>