2

我是使用实体框架的 ASP.NET MVC 的新手,我正在尝试创建一个简单的登录系统。目前我有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只有这些属性,或者我应该继续使用该UserProfile模型?

对我来说创建一个单独的模型来为登录提交建模感觉更好,但是我遇到了诸如让它们引用同一个表之类的问题?

谢谢

4

2 回答 2

4

你应该只有一个Model(域模型),但不同的ViewModel类。

ViewModel仅具有某个View/所需的属性(来自模型) Action

要管理ModelViewModel(s) 之间的映射,您应该查看映射解决方案(如 AutoMapper、ValueInjecter...)

于 2013-05-23T14:50:14.837 回答
0

看起来你应该区分视图模型和域模型。有趣的讨论就在这里

于 2013-05-23T14:49:27.250 回答