Ваша модель представления действительно не нуждается в свойстве с именем dispute
.Модель представления не должна ссылаться на ваши доменные модели.
Что касается сопоставления, одна возможность состоит в том, чтобы сделать это вручную, но это может быстро обременительно с более сложными моделями:
public ActionResult Foo()
{
IEnumerable<disputes> disputes = ... fetch from repo
IEnumerable<disputeviewmodel> disputeViewModels = disputes.Select(x => new disputeviewmodel
{
Lastviewedbyname = x.Lastviewedby,
Lastupdatedbyname = x.Lastupdatedby,
LastRespondedByname = x.LastRespondedBy
});
return View(disputeViewModels);
}
Так что лучшим подходом будет использование AutoMapper :
public ActionResult Foo()
{
IEnumerable<disputes> disputes = ... fetch from repo
IEnumerable<disputeviewmodel> disputeViewModels = Mapper.Map<IEnumerable<disputes>, IEnumerable<disputeviewmodel>>(disputes);
return View(disputeViewModels);
}