Вы не должны передавать Context
или какую-либо логику базы данных в представления.
Ваша ViewModel должна содержать все необходимые данные, которые вы должны отобразить. Похоже, что в вашей ViewModel вы проходите через ParentId
, но это действительно необходимо в View. Таким образом, вы можете изменить это на фактическую модель Parent
или добавить другое поле во ViewModel с именем ParentName
. Тогда вы сможете сделать что-то подобное в представлении, в зависимости от того, какое предложение вы выберете:
@Html.DisplayFor(modelItem => item.Parent.Name)
или
@Html.DisplayFor(modelItem => item.ParentName)
Не глядя на ваш код контроллера, это довольнотрудно помочь о том, как заполнить ViewModel, как это. Но если ваш LINQ правильный, то вы можете сделать это:
viewModel.Parent = _context.Groups.FirstOrDefault(m=>m.id == item.ParentId);
или
viewModel.ParentName = _context.Groups.FirstOrDefault(m=>m.id == item.ParentId).Name;