Я пытался разделить несколько включений на отдельные методы.Таким образом, я надеюсь, что смогу получить все дочерние элементы сущности в одном методе из любой точки в иерархии объектов.
Скажем, у меня есть это, чтобы получить авторов с книгами и страницами:
var result = Context.Authors.Include(x => x.Books).ThenInclude(x => x.Pages);
Теперь следующее, очевидно, не работает, но оно демонстрирует, какое решение я ищу:
internal static class IncluderExtension <T> where T : class
{
internal static IIncludableQueryable<T, List<Books>> IncludeBooks(this IIncludableQueryable<T, List<Author>> query)
{
var result = query.ThenInclude(x => x.Books).IncludePages();
return result;
}
internal static IIncludableQueryable<T, List<Page>> IncludePages(this IIncludableQueryable<T, List<Books>> query)
{
var result = query.ThenInclude(x => x.Page);
return result;
}
}
Есть идеи о том, как достичь моей цели?