在. _ _ ViewModel
您的 ViewModel 可能看起来与您的域模型相似。但是您的视图模型只需要视图所需的属性。不是所有的属性。
例如:您可能有一个带有属性的客户域模型CustomerID, FirstName,LastName,CreatedDate,CreatedBy,LastModifiedDate
。
public class CustomerDomainModel
{
public int CustomerID { set;get;}
public string FirstName { set;get;}
public string LastName { set;get;}
public DateTime CreatedDate { set;get;}
public DateTime LastModifiedDate { set;get;}
public int CreatedBy { set;get;}
}
但是在您的视图中(UI 表单),您可能需要仅显示 和 的FirstName
字段LastName
。所以你的 viewModel 可能只有这 3 个属性(名字和姓氏 + 另一个属性CustomerID
也有)
public class CustomerViewModel
{
//My view is going to use only these 3 fields.
// Hence no other properties i am defining here
public int CustomerID { set;get;}
public string FirstName { set;get;}
public string LastName { set;get;}
}
要在这 2 个(域对象到 ViewModel)之间进行映射,您可以考虑使用Automapper