【发布时间】:2015-04-16 03:19:22
【问题描述】:
我有一个网站,使用 ASP.NET MVC 构建,使用存储库。
控制器使用存储库检索数据,如下所示:
IEnumerable<User> users = userRepository.GetAll();
当 View 需要更复杂的数据时,Controller 会返回一个 ViewModel,如下所示:
public class UserDataViewModel
{
User User { get; set; }
Otherdata data { get; set; }
}
我的问题是 - 存储库可以返回 ViewModel 吗?喜欢:
UserDataViewModel data = userRepository.GetComplexUserData(int userId);
或者,您能否将 Viewmodel 作为 ref 传递:
userRepository.SetComplexUserData(int userId, ref UserDataViewModel data);
或者存储库是否应该完全不知道 ViewModel? 然后您是否应该构建一个与 ViewModel 相同的新类并在存储库中使用它?
【问题讨论】:
标签: c# asp.net-mvc model-view-controller viewmodel repository-pattern