Question L'attribut ASP.NET Core MetaDataType ne fonctionne pas


J'utilise l'attribut MetaDataType sur ma classe de modèle de domaine. Il est supposé déplacer les informations d'attribut de la classe référencée dans la classe dans laquelle l'attribut MetadataType a été défini. Mais il ne fait pas comme annoncé. Qu'est-ce qui cause le problème ici?

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

12
2018-01-03 13:15


origine


Réponses:


Utilisations ASP.NET Core

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

au lieu de

System.ComponentModel.DataAnnotations.**MetadataType** 

la source

Essayez de changer votre attribut en [ModelMetadataType(typeof(ComponentModelMetaData))]


22
2018-05-22 15:07