Не совсем ответ на ваш вопрос, но, возможно, ответ на вашу проблему:)
Отправка объектов через границы процесса - не очень хорошая идея.Вместо этого вы должны проецировать свои объекты в DTO и отправлять их.
Если вы раскрываете структуру своих организаций в своем контракте на обслуживание, тогда ваши объекты связаны с каждым потребителем вашей услуги (Плохо).Если вы определяете контракт на обслуживание в терминах простых DTO, потребители будут зависеть только от них, а не от ваших организаций (Хорошо).
Проектирование объектов в DTO также может выполняться автоматически (с помощью автоматического оператора).
Также вы избежите нескольких других проблем, связанных с отложенной загрузкой сущностей.
Если вы все еще хотите отправить сущность по проводам, чем, возможно, вы можете пометить свойство IEnumerable как не сериализуемое и использоватьдругое свойство типа массива, которое просто возвращает IEnumerable Property.ToArray () и не отображает свойство массива в NHibernate.