Сериализация NHibernate и WCF (однонаправленная)
Граф объектов для типа '[тип]' содержит циклы и не может быть сериализован, если отслеживание ссылок отключено.
У меня есть простая настройка иерархии классов с использованием NHibernate в качестве моего уровня персистентности.
Например:
public class Parent
{
public virtual IList Children{get;set;}
}
public class Child
{
public virtual Parent Parent{get;set;}
}
Это просто сделано, чтобы связать Child с одним родителем и сохраняется через внешний ключ в базе данных. Часть NHibernate и постоянство работает просто отлично. Проблема возникает при раскрытии этих отношений через веб-сервис WCF. Я понимаю, что здесь есть циклическая ссылка и прочитал несколько решений для LINQ to SQL, допускающих однонаправленную сериализацию, однако я не могу найти решение, когда не используется файл dbml.
ОБНОВИТЬ
Дополнительный вопрос был бы, является ли обычной практикой абстрагирование набора DTO 's выставлять через веб-сервис в отличие от оригинальных сущностей? Это решит проблему сериализации, поскольку классы DTO не обязательно будут нуждаться в циклических ссылках (поскольку они не являются сущностями NHibernate).
Дополнительное обновление
Я наткнулся настатья это может быть в правильном направлении. Я'Я проверяю это в настоящее время и опубликую в случае успеха (для статьи стоитс)