所以当在mvc中首先实现实体框架代码时,我们是否将视图限制与视图模型分开?这是因为对于数据库,首先生成模型(所以我看到将它分离到视图模型的原因,但首先是代码如何?)
我要问的下一个问题是将视图模型分离到另一个文件夹是否可以?因为默认情况下asp.net是MVC,
中没有视图模型模型< ---这个型号叫什么?数据模型?领域模型?商业模式?
public class Student
{
public int ID { get; set; }
[StringLength(250)]
public string LastName { get; set; }
public string FirstMidName { get; set; }
public DateTime EnrollmentDate { get; set; }
}
查看模型
public class Student
{
public int ID { get; set; }
[MaxLength(250)]
[Required]
public string LastName { get; set; }
[Required]
public string FirstMidName { get; set; }
[Required]
public DateTime EnrollmentDate { get; set; }
}
答案 0 :(得分:1)
您在mvc视图中使用的模型是 viewmodel 您在数据库中保留的模型是域模型。
您的域模型可能包含一些您不需要在客户端使用它的属性 您的服务层必须将 Dto (数据传输对象)返回给您的客户,您可以将 dto 映射到 viewmodel 。
答案 1 :(得分:0)
第一个问题:
您应该使用部分类和元数据进行分隔,如下所示:
[MetadataType(typeof(StudentMD))]
public partial class Student
{
public class StudentMD
{
public int ID { get; set; }
[MaxLength(250)]
[Required]
public string LastName { get; set; }
[Required]
public string FirstMidName { get; set; }
[Required]
public DateTime EnrollmentDate { get; set; }
}
}
第二个问题:
可以添加文件夹名称“View Model”
我也是在我的项目中做到的!