我有一些对象的列表,我从数据库查询结果填充。
List<Competition> myList; // fetched from DB
如果我需要访问此列表中一个/多个对象的属性,这需要再次查询数据库,如下所示:
List<Person> compPersons = myList[0].Persons; // persons must be fetched in DB
那么,有没有办法只进行一次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个竞赛,当我遍历列表并访问Persons属性时,我不想要1000个查询。
编辑:如果它允许更多的可能性,我不介意使用IEnumerable而不是List。