Код: Выделить всё
Party {
DateTime When { get; set; }
ICollection Attendees { get; set; }
}
Attendee {
ICollection Gifts { get; set; }
ICollection Allergies { get; set; }
}
IEnumerable GetAllPartiesByDate(DateTime date) {
var parties = Context.Parties
.Include(p => p.Attendees).ThenInclude(a => a.Gifts)
.Include(p => p.Attendees).ThenInclude(a => a.Allergies)
.Where(p.When == date)
.ToList();
return parties;
}
Это 172 строк в базе данных 4 стола
Код: Выделить всё
4 + (4*7) + (4*7*3) + (4*7*2)
Код: Выделить всё
4 * (7) * (3) * (2)
Код: Выделить всё
40 + (40*70) + (40*70*30) + (40*70*20)
При использовании более современных версий Entity Framework Core решением проблемы декартового взрыва является использование AsSplitQuery
По техническим причинам мы не можем обновить Entity Framework Core до предыдущей версии 3.1.
Но как реализовать AsSplitQuery в EF Core 3.1?>
Подробнее здесь: https://stackoverflow.com/questions/780 ... nships-cau