子类化模型

时间:2017-12-25 11:02:23

标签: c# asp.net asp.net-mvc

我有一个名为Job的模型,它有一个必填字段,这里是为了简单起见:

public class Job
{
    [Required(ErrorMessage = "Insured Name is required.")]
    [MaxLength(100, ErrorMessage = "Insured Name cannot be longer than 100 characters.")]
    [DisplayName("Insured Name")]
    public string InsuredName { get; set; }
}

我现在需要有一种称为私有作业的作业,它具有相同的字段,并映射到同一个数据库表,除了我试图更改一堆字段的验证消息。即,被保险人姓名成为客户名称。

我以为我可以通过子类化来做到这一点,所以我创建了一个例子:

[NotMapped]
public class PrivateJobDTO : Job
{   
    [Required(ErrorMessage = "Client Name is required.")]
    [MaxLength(100, ErrorMessage = "Client Name cannot be longer than 100 characters.")]
    [DisplayName("Client Name")]
    new public string  InsuredName { get; set; }

}

当我将PrivateJobDTO传递给我的viewmodel时,我仍然收到验证错误消息“需要保险名称”,而我希望看到“需要客户名称”

我做错了什么? (这是正确的方法)

1 个答案:

答案 0 :(得分:0)

感谢评论,它告诉我,我正在将基类传递给模型,而不是子类,这是一个愚蠢的错误。