我有一个viewModel列表,其中还包含其他模型的列表。我正在处理一个预建的数据库,我不能改变它的结构。我很难用Razor显示ViewModel数据。
MyBigViewModel定义
public class MyBigViewModel
{
public List<FirstModel> FirstModel { get; set; }
public List<SecondModel> SecondModel { get; set; }
public List<ThirdModel> ThirdModel { get; set; }
public List<FourthModel> FourthModel { get; set; }
public List<FifthModel> FifthModel { get; set; }
}
我有一些内部逻辑,基于一个查询(基于单个模型),我将尝试填充视图模型。
List<MyBigViewModel> BigViewModel = new List<MyBigViewModel>();
foreach (var SingleModel in FirstModelList)
{
SecondModelResult = db.somequery;
ThirdModelResult = db.somequery;
FourthModelResult = db.somequery;
FifthModelResult = db.somequery;
MyBigViewModel TempViewModel = new MyBigViewModel{
FirstModel = FirstModelResult;
SecondModel = SecondModelResult;
ThirdModel = ThirdModelResult;
FourthModel = FourthModelResult;
FifthModel = FifthModelResult;
}
BigViewModel.Add(TempViewModel);
}
结果集
BigViewModel
正是我想要它的结构方式,但我无法在Razor中为每个人显示数据。当我尝试使用
@foreach (var item in Model)
@Html.DisplayFor(modelItem => item.FirstModel.Name)
无法访问我想要的数据。