如何"小组解决"对象列表的属性?

时间:2015-05-11 07:32:03

标签: c# sql-server select-n-plus-1

我有一些对象的列表,我从数据库查询结果填充。

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。

0 个答案:

没有答案