我对在视图模型中提取数据有疑问。
例如我有viewmodel:
public class EmployeeCreateVM
{
public Employee Employee { get; set; }
public List<EmployeeState> EmployeeStates { get; set; } // dropdownlist data
public List<EmployeeType> EmployeeTypes { get; set; } // dropdownlist data
public EmployeeCreateVM()
{
EmployeeStates = ...
EmployeeType = ...
}
}
我的问题是关于设计视图模型,特别是获取数据。 对于我当前的项目,我从控制器获取数据,例如:
[Get]
EmployeeCreateVM model = new EmployeeCreateVM();
model.EmployeeStates = _repository....
[Post] - again
model.EmployeeStates = _repository....
直接从视图模型类获取数据是不好的做法吗?
由于
答案 0 :(得分:1)
是的,因为它违反了关注点的分离。如果您以后需要更改数据访问方法,则它将不再位于单个位置(控制器),而是位于使用该存储库的每个视图模型中。
这里有更多的讨论: What to put in your ViewModel