Мои 2 сущности имеют простое отношение один-ко-многим, то есть родительские дочерние.
public class Itinerary {
public Itinerary() {
CodeHours=new List<CodeHours>();
}
public int Id { get; set; }
public String FirstName { get; set; }
public String LastName { get; set; }
public DateTime DateWorked { get; set; }
public String EnteredBy { get; set; }
public List<CodeHours> CodeHours { get; set; }
}
public class CodeHours {
public int Id { get; set; }
public String Code { get; set; }
public float Hours { get; set; }
public Itinerary Itinerary { get; set; }
public int ItineraryId { get; set; }
}
public class DBContext : DbContext {
public DbSet<Itinerary> Itineraries { get; set; }
}
Я получаю Itinerary
из его DbSet следующим образом
Itinerary itn = ctx.Itineraries.Where(i => i.FirstName == Model.FirstName
&& i.LastName == Model.LastName
&& i.DateWorked == row.Date
).Include(i => i.CodeHours)
.FirstOrDefault();
Я получаю правильный Itinerary
, но его CodeHours
всегда пуст. SQL Server Profiler указывает, что таблица CodeHours
никогда не включается в запрос с любопытством. Я вижу, что на сервер SQL выдается 2 отдельных оператора select
, хотя в моем коде только 1 запрос к DbSet.
Добавление CodeHours
DbSet к моему DbContext
не имеет значения.
Приложение ASP. NET MVC 5. Аналогичный пример из курса EF Core 3 работает, но он это консольное приложение, а не ASP. NET MVC
Заранее спасибо.