据我所知,使用视图模型可以使 Web 开发。生活更轻松,从某种意义上说,我们可以使用这种方法在本地化字符串中只显示需要的属性。我还在 mvc3 视图模型中使用 jquery 验证等。
现在我很怀疑,因为我的 webapp 遇到了真正的瓶颈。像这样查询所有对象(其中 20 个)
List<Domain.Property> data = session.Query<Domain.Property>().ToList();
return PropertyViewModel.FromDomainModel(data);
并且该属性对象列表被发送到我的 ViewModel,其中 FromDomainModel 期望像这样的属性对象列表
List<PropertyViewModel> dataVm = new List<PropertyViewModel>();
{
foreach (Property p in x)
{
dataVm.Add(new PropertyViewModel(p));
}
return dataVm;
}
现在在我正在使用的同一个班级
public PropertyViewModel(Property x)
{
Id = x.Id;
Created = x.Created;
Title = x.Title;
....
Photo = x.Photos.First();
}
但是使用这种方法将对象集合发送到视图模型,从那里返回相同的视图模型,只需要我需要的几个属性,奇怪的是(至少对我来说)我经历了多个实体负载和持续时间急剧增加。
如果您需要更多信息。请问。
另外,如果您知道更好的解决方案,请分享。
更新: 当使用域模型时,我加载了 20 个实体,当使用上述视图模型时,加载了 67 个实体,这大大降低了性能。