ASP.NET Core MetaDataType属性不起作用

我在我的域模型类上使用MetaDataType属性。 它应该将属性信息从引用的类移动到已设置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; } } 

ASP.NET核心使用

 Microsoft.AspNetCore.Mvc.Core.**ModelMetadataType** 

代替

 System.ComponentModel.DataAnnotations.**MetadataType** 

资源

尝试将属性更改为[ModelMetadataType(typeof(ComponentModelMetaData))]