Я бы не стал смешивать репозиторий с сущностями, потому что мне нравится, чтобы сущности были свободны от какого-либо контекстуального состояния или состояния окружающей среды. Я думаю, что управление хранилищем сущностей является исключительной ответственностью хранилища.
Что бы произошло, если бы у вас были зависимости между сущностями? Например, в школе есть ученики. Вы не можете сохранить учеников, пока не спасете школу. Вы должны будете встроить эту логику в свои студенческие сущности. Ваши ученики также спасут школу? Откажутся ли они от спасения? Нужно ли проверять базу данных для школы? Им, по крайней мере, нужно будет что-то знать о школе, поэтому вы создадите зависимость между школой и учениками, которая довольно жестко зашита.
Затем вы добавляете учителей, и вам нужно добавить аналогичную логику для них. Ваш код для представления этих отношений и зависимостей затем распространяется на многие сущности. Подумайте и о транзакциях. Затем добавьте несколько уровней. Вы видите, насколько это может быть сложно? Довольно скоро у вас есть спагетти с фрикадельками и сыром!
Ответственность за эту информацию лежит на хранилищах.
HTH
Приветствия