EF 5 не грузятся данные при использовании метода Include

Проблема следующего характера: Есть две модели: Первая

 [Key]
 public int Id                                { get; set; } 
 public string Name                           { get; set; }
 public string Surname                        { get; set; }
 public string Patronymic                     { get; set; }
 public ICollection<Project> LeaderProjects   { get; set; }
 public ICollection<Project> EmployeeProjects { get; set; }
 public ICollection<Project> ExecutorProjects { get; set; }

И вторая

  [Key]
  public int Id                         { get; set; }
  public string Name                    { get; set; }
  public string CompanyCustomer         { get; set; }
  public string CompanyExecutor         { get; set; }
  public Employee Employee              { get; set; }
  public int EmployeeId                 { get; set; }
  public Employee Leader                { get; set; }
  public int LeaderId                   { get; set; }
  public ICollection<Employee> Executor { get; set; }
  public DateTime Start                 { get; set; }
  public DateTime Finish                { get; set; }
  [Column(TypeName = "int")]                         
  public Priority Priority              { get; set; }

В методе OnModelCreating я определяю связи и заполняю данные

 protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            modelBuilder
              .Entity<Employee>()
              .HasMany(e => e.EmployeeProjects)
              .WithOne(p => p.Employee);

            modelBuilder
              .Entity<Employee>()
              .HasMany(e => e.LeaderProjects)
              .WithOne(p => p.Leader);

            modelBuilder
             .Entity<Employee>()
             .HasMany(e => e.ExecutorProjects)
             .WithMany(p => p.Executor);


            var emp = new Employee  { Id = 1, Name = "Игорь", Surname = "Панфилов", Patronymic = "Платонович" };
            var emp2 = new Employee { Id = 2, Name = "Степан", Surname = "Князев", Patronymic = "Даниилович" };
            var emp3 = new Employee { Id = 3, Name = "Аверьян", Surname = "Корнилов", Patronymic = "Демьянович" };


            modelBuilder.Entity<Employee>()
            .HasData(emp, emp2, emp3);

            modelBuilder.Entity<Project>()
                .HasData(
                new Project { Id = 1, EmployeeId = emp.Id, LeaderId = emp.Id, CompanyCustomer = "Customer", CompanyExecutor = "Executor", Start = DateTime.Now, Finish = DateTime.Now.AddDays(10), Name = "SuperProject", Priority = Priority.High },
                new Project { Id = 2, EmployeeId = emp2.Id, LeaderId = emp2.Id, CompanyCustomer = "Customer2", CompanyExecutor = "Executor2", Start = DateTime.Now, Finish = DateTime.Now.AddDays(13), Name = "SuperProject2", Priority = Priority.Low },
                new Project { Id = 3, EmployeeId = emp3.Id, LeaderId = emp3.Id, CompanyCustomer = "Customer3", CompanyExecutor = "Executor3", Start = DateTime.Now, Finish = DateTime.Now.AddDays(16), Name = "SuperProject3", Priority = Priority.Middle }
                );

        }

Если получать данные таким образом, то все работает, только нет никаких зависимостей

      public async Task<IEnumerable<Project>> GetItemsAsync(bool forceRefresh = false)
        {
            var allitems = await DbContext.Projects
                .ToListAsync()
                .ConfigureAwait(false);
            return allitems;
        }

А вот через Include данные не получаются вообще (ничего не происходит)

        public async Task<IEnumerable<Project>> GetItemsAsync(bool forceRefresh = false)
        {
            var allitems = await DbContext.Projects
                .Include(p => p.Employee)
                .Include(p => p.Leader)
                .Include(p => p.Executor)
                .ToListAsync()
                .ConfigureAwait(false);
            return allitems;
        }

Что сделать, чтобы Include отрабатывал нормально?


Ответы (0 шт):