title: AutoMapper Project().To() not working for interface destination
body: <p>I have a situation in AutoMapper where I need to create a mapping with an interface destination. This is not a problem, and when using the normal Mapper.Map, it returns a proxy class as expected. However, when I try to do something similar with .Project().To(), which I need to use because an ORM is involved, I have issues. Here is the exact code that is failing which I replicated in a unit test:</p>
  
  <pre><code>AutoMapper.Mapper.CreateMap&lt;RoleDto, IRole&gt;(); //both just have Id/Name
  
  IQueryable&lt;RoleDto&gt; roleDtos = new List&lt;RoleDto&gt;
  {
      new RoleDto { Id = 1, Name = "Role1" },
      new RoleDto { Id = 2, Name = "Role2" }
  }.AsQueryable();
  
  //this works:
  List&lt;IRole&gt; roles = roleDtos.Select(
      roleDto =&gt; AutoMapper.Mapper.Map&lt;IRole&gt;(roleDto)
      ).ToList();
  
  //this does not work:
  List&lt;IRole&gt; roles2 = roleDtos.Project().To&lt;IRole&gt;().ToList();
  </code></pre>
  
  <p>I'm getting ArgumentException:</p>
  
  <blockquote>
    <p>ArgumentException: Type 'UnitTestProject5.IRole' does not have a default constructor</p>
  </blockquote>
  
  <p>In my real implementation the .Select is being performed on an Entity Framework collection, which is why I need to stick with .Project().To().</p>
  
  <p>I have no issues with <em>.Project().To()</em> if the destination is not an interface. Additionally, I have no issues with the interface destination if I use .Map().</p>
  
  <p>How can I get the interface destination <strong>and</strong> .Project.To() to work at the same time? Why is .Project.To() not giving me proxy classes like .Map() is? Any ideas?</p>
  
  <p>Thanks!</p>