Атрибут ASP.NET Core MetaDataType не работает

Я использую атрибут MetaDataType в classе модели домена. Он должен переместить информацию атрибута из ссылочного classа в class, который был установлен атрибутом MetadataType. Но это не так, как рекламируется. Что вызывает здесь проблему?

[MetadataType(typeof(ComponentModelMetaData))] public partial class Component { public int Id { get; set; } public string Name { get; set; } public ICollection 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 Repos { get; set; } [Required(ErrorMessage = "Description is required.")] public string Description { get; set; } } 

Давайте будем гением компьютера.