Вы не можете сделать это легко с помощью инжектора конструктора. Внутренним элементам NHibernate, возможно, потребуется создать прокси-объект, унаследованный от вашего класса домена, с добавленным в него Lazy-загрузочным кодом и т. Д., Так что, насколько я знаю, нет простого варианта переопределить конструкцию вашего объекта.
Вы можете получить инъекцию зависимостей, работающую с NHibernate довольно легко, хотя, написав перехватчик, который создаст объект для вас посредством внедрения сеттера свойств. Вот пример этого здесь . В этом примере используется Windsor в качестве контейнера DI, но вы, конечно же, можете сделать то же самое с StructureMap - здесь приведены соответствующие документы для StructureMap - обратитесь к разделу «Применение метода Setter Injection к существующему объекту ( СКОПИВШИЙСЯ)».
Предостережение: внедрение зависимостей в модель вашего домена часто рассматривается как признак проблемы проектирования, и многие люди избегают этого, поэтому убедитесь, что это действительно то, что вы хотите сделать, прежде чем приступить к кодированию!