У меня есть свойство навигации в классе. Он имеет связь в базе данных, но не возвращает данные от Сотрудники типа Информация Свойство навигации.
public class Visa
{
public int VisaID { get; set; }
public string VisaName { get; set; }
public Info EmployeeInfo { get; set; }
public List<Info> Employees { get; set; }
}
Информационный класс имеет от 1 до многих отношений с классом Visa, также в базе данных.
public class Info
{
public int ID { get; set; }
public string Name { get; set; }
public string FatherName { get; set; }
}
В поле зрения:
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.VisaName)
</td>
@foreach (var employee in item.Employees)
{
<td>@Html.DisplayFor(empItem => employee.Name) </td>
<td>@Html.DisplayFor(empItem => employee.FatherName)</td>
}
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.VisaID }) |
@Html.ActionLink("Details", "Details", new { id=item.VisaID }) |
@Html.ActionLink("Delete", "Delete", new { id=item.VisaID })
</td>
</tr>
}
item.Employees пусто. Зачем? Даже в таблицах есть данные.
Обновление:
Кроме того, это не работает. Таким образом, в целом сотрудники возвращаются пустыми по тем или иным причинам.
InfoDBContext InfoContext = new InfoDBContext();
object o = InfoContext.Visas.ToList().Where(visa => visa.VisaName == "Visa 1").FirstOrDefault().Employees;
return View(o);
Обновление:
Это тоже не работает.
public ActionResult VEmployees()
{
InfoDBContext InfoContext = new InfoDBContext();
//int EmployeeID = InfoContext.Infoes.ToList().Where(emp => emp.ID == 1).FirstOrDefault().ID;
object o = InfoContext.Visas.Include(e => e.Employees).Where(v => v.VisaName=="Hunain").FirstOrDefault().Employees;
return View(o);
}
возвращает пустое значение для обеих сущностей