>>618
この場合もまずは責務を明確にしてメソッドを分けるといいよ

1. オンメモリのデータセットから特定のデータを正確に抽出する責務を担ったメソッド
2. 単にデータをDBに書き込む責務を担ったメソッド

つまりこういうこと↓

a = Aデータ抽出(全データ)
b = Bデータ抽出(全データ)

z = Zデータ抽出(全データ)

結果A = リポジトリA.save(a)
結果B = リポジトリB.save(b)

結果Z = リポジトリZ.save(z)
結果All = リポジトリAll.save(全データ)