我有一个包含基本信息的模型
。然而,我的视图
需要更多信息才能显示,因此我认为需要一个ViewModel
来显示额外的信息。但是,我应该在模型中添加验证属性
,以便在执行Code-First迁移
时,它会自动为我创建具有每个列的正确数据类型
的数据库
,还是应该将验证属性
添加到ViewModel中,因为表单应该验证
填写的信息?
public class Module
{
[Key]
public int id { get; set; }
[Required]
[StringLength(100)]
[Column(TypeName = "varchar")]
[Display(Name="Module Name")]
public string ModuleName { get; set; }
}
public class ModuleViewModel
{
[Key]
public int id { get; set; }
[Required]
[StringLength(30)]
[Column(TypeName="varchar")]
[Display(Name="Module ID")]
public string ModuleID { get; set; }
[Required]
[StringLength(100)]
[Column(TypeName = "varchar")]
[Display(Name="Module Name")]
public string ModuleName { get; set; }
//To populate dropdownlist
public List<SelectListItem> ModuleLevelList { get; set; }
}
在这种情况下,我真的需要一个ViewModel
吗?
Module
类是您的实体类,将验证放入其中没有任何意义,您可以使用视图模型进行验证和其他内容以在视图页面上显示,在这种情况下,您需要将实体类映射到视图模型类。 - Divyang Desai