问题所在 假设我们有一个Person实体:
public class Person
{
public int Id { get; set; }
public string Name { get; set; }
public string Password { get; set; }
public string Email { get; set; }
public bool IsAdmin { get; set; }
}
非常简单,没有什么特别值得一看的。现在我们有了这个实体,我们想用数据填充它。我们要创造一个新的“人”。我们可以将这个实体返回到我们的视图中,这样我们就可以用数据填充它并坚持整个过程。但这导致了多个问题:
我们可能不希望用户选择自己的ID。 我们希望用户确认他的密码,因此我们可能需要2个密码字段。 我们不希望用户选择是否想成为管理员(尽管这可能导致一些很酷的实验) 如果我们要更改我们的数据库(以及实体),我们的表格将依赖于与我们预期不同的实体。
答案 0 :(得分:1)
你所谈论的是一种MVVM
模式,常用于WPF
您应该拥有View
的模型对象:ViewModel
和Model
的模型对象:模型
可以封装在ViewModel中,就像
一样public class PersonViewModel
{
Person _person = new Person();
public string PasswordUser {get;set;}
public string PasswordConfirm {get;set;}
public string Name
{
get{ return _person.Name}; //I assume Person has a Name property
set {_person.Name = value; }
}
...
....
}
答案 1 :(得分:0)
将实体封装在视图模型中。视图模型使用视图特别需要的其他字段和行为来补充实体。在这种情况下,它将包含密码确认字段和相关逻辑。