How to add attributes to a base class's properties

后端 未结 4 1926
独厮守ぢ
独厮守ぢ 2020-12-08 12:51

I have a couple model classes like so:

public class MyModelBase
{
    public string Name { get; set; }
}

public class MyModel : MyModelBase
{
    public str         


        
4条回答
  •  既然无缘
    2020-12-08 13:23

    Try using a metadata class. It's a separate class that is referenced using attributes that lets you add data annotations to model classes indirectly.

    e.g.

    [MetadataType(typeof(MyModelMetadata))]
    public class MyModel : MyModelBase {
      ... /* the current model code */
    }
    
    
    internal class MyModelMetadata {
        [Required]
        public string Name { get; set; }
    }
    

    ASP.NET MVC (including Core) offers similar support for its attributes like FromQuery, via the ModelMetadataTypeAttribute.

提交回复
热议问题