Например, у меня есть класс ThoughtComment, состоящий из ICollection<ThoughtComment>
, который называется «SubComments». При запросе к этой сущности для ее субкомментариев мне нужно сделать .Include()/.ThenInclude()
для каждого уровня субкомментария в иерархии ThoughtComment.SubComments.
Например, чтобы попасть на второй уровень глубины субкомментариев, который у меня был бы сделать что-то вроде:
var messages = originalThought
.Include(i => i.SubComments)
.ThenInclude(i => i.SubComments)
.ThenInclude(I => i.Message)
.Select(s => s);
Тогда, если я захочу перейти на третий уровень глубоко, мне придется сделать это:
var messages = originalThought
.Include(i => i.SubComments)
.ThenInclude(i => i.SubComments)
.ThenInclude(i => i.SubComments)
.ThenInclude(I => i.Message)
.Select(s => s);
Это невозможно, потому что я не знаю, сколько уровней будет на уровне субкомментариев. Итак, я хотел бы знать, как я могу настроить запрос EF Core на Include
/ ThenInclude
неизвестное количество слоев сущностей.