Как "группировать" разрешение свойства для списка объектов?

У меня есть список некоторых объектов, которые я заполняю из результата запроса к базе данных.

List<Competition> myList; // fetched from DB

Если мне нужно получить доступ к свойству одного / нескольких объектов в этом списке, что требует повторного запроса к базе данных следующим образом:

List<Person> compPersons = myList[0].Persons; // persons must be fetched in DB

то есть ли способ иметь только один вызов БД, который бы заполнил Persons собственность для каждого Competition в myList?

List<Person> comp1Persons = myList[0].Persons; // Causes one big DB fetch
List<Person> comp2Persons = myList[1].Persons; // no more fetch required
List<Person> comp3Persons = myList[2].Persons; // no more fetch required

Если в моем списке 1000 соревнований, я не хочу 1000 запросов, когда я перебираю список и получаю доступ к свойству Persons.

РЕДАКТИРОВАТЬ: я не возражаю против использования IEnumerable вместо List, если это позволяет больше возможностей.

0 ответов

Другие вопросы по тегам