我是使用Entity Framework的ASP.NET MVC的新手,我正在尝试创建一个简单的登录系统。目前我有UserProfile
模型,我希望模拟一个登录表单。
UserProfile.cs
namespace MyProject.Areas.Admin.Models
{
public class UserProfile {
[Key]
public int UserID { get; set; }
[Required]
[Display(Name = "Username")]
public string Username { get; set; }
[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }
public string FirstName { get; set; }
public string Surname { get; set; }
public string EmailAddress { get; set; }
public string Telephone { get; set; }
}
}
由于我的登录表单只需要用户名和密码,因此创建一个单独的模型(例如,只有这些属性的LoginModel
,或者我应该使用{{1模型?
我觉得创建一个单独的模型来模拟登录提交感觉更好,但后来我遇到了让它们引用同一个表的问题?
由于
答案 0 :(得分:4)
您应该只有一个Model
(域模型),但不同的ViewModel
类。
ViewModel
只会包含特定View
/ Action
所需的属性(来自模型)。
要管理Model
和ViewModel
(s)之间的映射,您应该查看映射解决方案(如AutoMapper,ValueInjecter ......)
答案 1 :(得分:0)
看起来你应该区分视图模型和域模型。有趣的讨论是here。