Déclarez la propriété dans la classe parente comme virtuelle :
public class MyModelBase
{
public virtual string Name { get; set; }
}
public class MyModel : MyModelBase
{
[Required]
public override string Name { get; set; }
public string SomeOtherProperty { get; set; }
}
Vous pouvez aussi utiliser un MetadataType pour gérer la validation (tant que vous parlez de DataAnnotations... sinon vous êtes coincé avec l'exemple ci-dessus) :
class MyModelMetadata
{
[Required]
public string Name { get; set; }
public string SomeOtherProperty { get; set; }
}
[MetadataType(typeof(MyModelMetadata))]
public class MyModel : MyModelBase
{
public string SomeOtherProperty { get; set; }
}