Вообще, если уж начали про архитекруту, то просто сделайте так:
tableB->getAll();
Как внутри все будет работать пока что Вас не должно волновать, главное чтоб этот метод (функция) возвращала _всегда_ одни и те же данные. Потом когда (если?) будет тормозить, или Вас будет что-то не устраивать Вы этот метод переделаете как душа пожелает.
Так что не важно что именно вы сделаете, главное выделяйте такие спорные вопросы в одном месте, которое _всегда_ возвращает одни и те же данные, как бы Вы его не меняли.