Мне кажется, что то, что вы говорите, вполне справедливо - зачем запускать два вызова базы данных, когда это будет сделано - если только обе записи не нужны независимо как объекты (?)
Конечно, хотя может быть не так просто написать код для извлечения всего этого за один вызов из базы данных и разделения полей на два отдельных объекта, это означает, что вы зависите от базы данных только для одного звони, а не два ...
Это было бы лучше читать как запрос:
Select a.blah1, a.blah2, b.something From foo a Left Join foo2 b On a.foreign_key = b.key Where a.Key = bar;
И таким образом вы можете проверить, что получили результат за один раз, и база данных выполняет всю тяжелую работу за один запрос, а не за два ...
Да, я думаю, что то, что вы говорите, правильно.