Да, есть способ указать загрузку отношений в LINQ to SQL .. что-то вроде следующего должно работать.
partial void OnCreated() {
DataLoadOptions options = new DataLoadOptions();
options.LoadWith<ParentObject>(o => o.ChildObjects);
this.LoadOptions = options;
}
Это указывает параметры в частичном OnCreate
контекста данных, что хорошо, если вы хотите, чтобы правило сохранялось во всех экземплярах, но ваш случай может отличаться.
Я думаю, что есть некоторые тонкие нюансы с загрузкой более глубоких вложенных объектов только к вашему сведению.
Следует также отметить, что это просто загружает связанные сущности родительского объекта, когда запрашивается родительский объект, он не делает никакой магии для объединения запроса, сгенерированного первоначальным родительским запросом. Таким образом, по сути, теперь каждый раз будет выполняться два запроса, а не один, преимущество в том, что он не будет возвращаться в базу данных для получения содержимого отношения при перечислении, поскольку они уже были загружены.