【发布时间】:2015-07-02 06:57:39
【问题描述】:
不言自明,我有一个与我的数据库 1:1 映射的模型,例如:
public class User
{
[Key]
public int UserID { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
如果我在我的 View cshtml 中使用它有什么缺点吗:
@model User
或者我应该创建另一个这样的 ViewModel
public class UserViewModel
{
[Required]
public string FirstName { get; set; }
[Required]
public string LastName { get; set; }
}
并将其绑定到我的视图
@model UserViewModel
【问题讨论】:
-
View-model 可以是视图可以用来呈现自身而不依赖外部调用的任何类型。但是,在您的特定情况下,
User实体最终可能包含一些敏感数据(例如Password属性),如果您必须序列化视图模型以供某些客户端脚本使用,它可以是个问题。
标签: c# asp.net-mvc design-patterns asp.net-mvc-5