title: ASP.NET Core MetaDataType Attribute not working
body: <p>I'm using the MetaDataType Attribute on my domain model class. It it supposed to move the attribute information from the referenced class into the class that the MetadataType attribute has been set. 
  But it doesn't do as advertised. What is causing the issue here?</p>
  
  <pre><code>[MetadataType(typeof(ComponentModelMetaData))]
  public partial class Component
  {
      public int Id { get; set; }
      public string Name { get; set; }
      public ICollection&lt;Repo&gt; Repos { get; set; }
      public string Description { get; set; }   
  }
  
  
  public class ComponentModelMetaData
  {
      [Required(ErrorMessage = "Name is required.")]
      [StringLength(30, MinimumLength = 3, ErrorMessage = "Name length should be more than 3 symbols.")]
      public string Name { get; set; }
      public ICollection&lt;Repo&gt; Repos { get; set; }
      [Required(ErrorMessage = "Description is required.")]
      public string Description { get; set; }        
  }
  </code></pre>