如何禁用 Web api 模型中 属性 的必需属性?

How can I disable required attribute on a property in a model in web api?

如何禁用已在模型 属性 上设置的 [Required] 属性。

我尝试使用以下代码使用 new 关键字但没有用。

我也尝试了 override 关键字,但没有用。

ChildModel 使用了 BaseModel 的大部分属性,而不是创建新的模型文件并编写许多类似的属性,我正在考虑做这样的事情。

public class BaseModel
{
    [Required]
    public string Address{ get; set; }
}


public class ChildModel : BaseModel
{
    public new string Address{ get; set; }    
}

任何简单的解决方案?

在 属性 上使用 new 关键字简单地覆盖或重新声明并删除属性是行不通的。我一直这样做的方式如下:

public abstract class BaseModel
{
    public abstract string Address { get; set; }
}


public class ChildModel : BaseModel
{
    [Required]
    public override string Address { get; set; }
}

public class AnotherChildModel : BaseModel
{
    //Not[Required]
    public override string Address { get; set; }
}

如果您想了解更多关于在继承过程中如何处理基 class 的属性,您可以阅读 this 讨论帖。