我有一个ViewModel。像这样的东西
public class ViewModel
{
public int Id { get; set; }
public int? Value { get; set; }
}
我有一个现有ViewModel表,下面我有一个表单,您可以在其中添加新的ViewModel
对于从DB获取的现有ViewModel,我不希望对Value属性进行验证,但是对于添加新ViewModel的情况,我需要验证....实际模型比这个更复杂所以我想要在两种情况下使用相同的模型..是否可能?
编辑:此作品
public class AddNewViewModel : ViewModel
{
public new int Value { get; set; }
}
使用new
或virtual/override
以及为什么更好?
答案 0 :(得分:0)
必需的属性被编译到类中。你可以这样做:
public class BaseViewModel
{
public int Id { get; set; }
public virtual int? Value { get; set; }
}
public class CreateViewModel : BaseViewModel
{
[Required]
public override int? Value { get; set; }
}
这样,您只需将validation属性添加到您需要它们的属性中。