Я работаю над проектом для интервью.В моем проекте есть класс EmployeeService
для получения сотрудников из базы данных.Сотрудники могут иметь список зависимых лиц.Однако этот список всегда возвращается как пустой массив.
Вот как выглядит моя сущность:
public class Employee : Person
{
public ICollection<Dependent> Dependents { get; set; } = new List<Dependent>();
}
public class Person
{
[Key]
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
}
Вот так выглядит мой класс DbContext
для доступа к моей базе данных:
public class AppDbContext : DbContext, IAppDbContext
{
public AppDbContext(DbContextOptions options) : base(options)
{
}
public AppDbContext()
{
}
public virtual DbSet<Employee> Employees { get; set; }
public virtual DbSet<Pay> PayEntries { get; set; }
public virtual DbSet<Dependent> Dependents { get; set; }
}
А вот некоторые подходящие методы из моего EmployeeService
класса.Это класс, который использует мой контроллер:
public ICollection<EmployeeDto> GetAllEmployees()
{
return _dbContext.Employees.Select(e => e).ToList().Select(e => e.ToDto()).ToList();
}
public EmployeeDto GetEmployee(int id)
{
var employee = _dbContext.Employees.FirstOrDefault(e => e.Id == id);
if (employee == null)
throw new Exception("Employee does not exist");
return employee.ToDto();
}
Теперь моя проблема в том, что мой список иждивенцев не заполняется.Я каждый раз получаю пустой массив из моего DbContext
, и я не знаю почему.Оба метода GetAllEmployees
и GetEmployee
всегда возвращают пустой массив зависимостей (обратите внимание, что это не связано с этим методом ToDto()
. Я убедился, что до достижения этой точки зависимости пустые).
Вот скриншот таблиц базы данных, подтверждающий, что Анакин должен иметь одну зависимую (я добавлю Лейю позже)

Но я просто получаюэто обратно:
{
"dependents": [],
"id": 1,
"firstName": "Anakin",
"lastName": "Skywalker"
},