Ладно, похоже, у вас есть сценарий, в котором вы в одном случае хотите прочитать из нескольких AR, а также сохранить их состояние в БД. Операция чтения занимает много времени? или для чтения и записи требуется время?
Ваша модель предметной области и совокупные корни должны быть частично определены через взаимодействие с вариантами использования. Я хочу сказать, что модель должна быть разработана так, чтобы она соответствовала потребностям ваших клиентов. Этот сценарий не похож на тот, который хорошо подходит вашей модели.
Отчеты или другие операции, использующие большое представление данных, должны обходить модель предметной области. Не используйте DDD для отчетов и т. Д. Просто сделайте быстрый доступ к данным.
Во-вторых. Единица работы - это один из способов, если вы хотите, чтобы все агрегаты участвовали в транзакции.
В-третьих. Я бы сказал: используйте отложенную загрузку, но в некоторых случаях, когда требуется повышение производительности, вы можете использовать стратегию загрузки, которая означает, что вы позволяете корню загружать некоторые дочерние коллекции без запуска sql-sub-select ...
посмотрите на эту статью http://weblogs.asp.net/fredriknormen/archive/2010/07/25/loading-strategy-for-entity-framework-4-0.aspx (даже для шаблона EF хорошо работает для NH ORM)
Тогда, наконец, вы всегда можете предоставить индексы БД, кеширование и т. Д., Чтобы повысить производительность, но, учитывая информацию о сценарии, вы получаете несколько неправильное решение. У меня нет всех фактов, но, возможно, некоторые варианты использования не подходят для