Я делаю нечто подобное, на самом деле. Не та же цель, но факт использования DDD для создания приложения, которое работает с AD.
Я считаю, что LDAP - это мой уровень персистентности. Таким образом, моя модель предметной области состоит из объектов, относящихся к моему приложению, а не только к AD. В этом случае моя реализация репозитория - это все специфичные для AD вещи, беря мои объекты и отображая их в объекты AD и так далее. На самом деле я создал IRepository для базы, а затем IUserRepository и т. Д., Как необходимо для агрегатов домена. Реализации тогда названы как ADUserRepository.
Я считаю, что это самый простой способ справиться со всем этим и сохранить свои мысли; это также облегчает тестирование того, что я делаю (не уверен, что это поможет с вашим приложением).
Я не знаю ни одного инструмента OLM (хороший термин), который вы могли бы использовать; Я только что отобразил это вручную, так как мне действительно интересно только подмножество того, что AD имеет в этом.