【发布时间】:2018-02-19 21:13:23
【问题描述】:
我有一个帐户模型的帐户类。
public class Account
{
[Key]
public Int64 UID { get; set; }
[Required]
public string ID { get; set; }
[Required]
public string PassWord { get; set; }
[Required]
public string UserName { get; set; }
}
我的项目不是代码优先项目,这是数据库“帐户”的模型类。
但我在登录视图中只使用了两个属性,字符串 ID 和字符串密码。 所以当我检查模型的验证时我不能在登录控制器中使用 ModelState.Isvalid() 因为我使用 只有两个属性...
所以我当时搜索了一下,现在我发现了“ViewModel”,它是视图的模型类。
然后我创建了一个新类“AccountViewModel”,然后将其映射到视图而不是“Account”模型。
我的方法对吗? 我知道 ViewModel 是一个仅用于 View 的模型类。 模型类适用于所有人。 (比如全局意义...?对于 DB、view 等)
Model 和 ViewModel 类有什么不同? 我可以找到一些好的方法来解决这个问题吗?
【问题讨论】:
-
非常感谢。但我对模型有更多疑问。我知道 ViewModel 用于 view , Model 用于 DB Context。那么...我是否必须将 [Key] 或 [Required] 等注释设置为与我的真实 MSSQL DB 表列相同?
标签: asp.net asp.net-mvc model-view-controller model-view