title: Generic<T> ActionResult with children of T which is not generic type
body: <p>I refer to the second answer from <a href="https://stackoverflow.com/questions/20009031/how-to-use-asp-net-mvc-generic-controller-to-populate-right-model">this topic</a>.</p>
  
  <p>I wrote something like this in my project:</p>
  
  <pre><code>public class DetailsViewModel&lt;T&gt; where T : Standard
  {
     public IList&lt;T&gt; OrderLines { get; set; }
  }
  
  public class Standard
  {}
  
  public class InitialStandard : Standard {}
  
  public class AlteredStandard : Standard {}
  
  public class InitialDetailsViewModel : DetailsViewModel&lt;InitialStandard&gt;
  {}
  
  public class AlteredDetailsViewModel : DetailsViewModel&lt;AlteredStandard&gt;
  {}
  </code></pre>
  
  <p>Then I have two methods to whom I refer to one ActionResult:</p>
  
  <pre><code>public void DetailsInitial(long Id)
  {
      Details&lt;InitialDetailsViewModel&gt;(orderId);
  }
  
  public void DetailsAltered(long Id)
  {
      Details&lt;AlteredDetailsViewModel&gt;(orderId);
  }
  
  public ActionResult Details&lt;T&gt;(long Id) where T : DetailsViewModel&lt;Standard&gt;
  {
      var model = Mapper.Map&lt;T&gt;(order);
      return model;
  }
  </code></pre>
  
  <p>How to use this method with <code>DetailsViewModel</code> children, if they are not generic?</p>
  
  <p>I remark that difference in mapping is in profiles for <code>InitialStandard</code> and <code>AlteredStandard</code> classes.</p>