У меня есть 2 объекта в моем домене А и ВFluent NHibernate циклическую боль
Объекта А имеет свойство B объекта B имеет свойство списка
, когда я делаю удар по моему дб , из B, он возвращает список As, но каждый A имеет B, который, в свою очередь, имеет список As. снова и снова и снова.
очевидно ленивая проблема с загрузкой. Ленивая загрузка, но моя проблема заключается в том, что это служба WCF, мне нужно, чтобы преобразовать все мои объекты домена в DTO объекты, чтобы отправить вниз провод, и когда я делаю это делает следующее - псевдокод
ADTO adto Transform(ADomain a)
{
adto.name = a.name;
adto.surname = a.surname;
adto.B = Transform(a.B);
}
BDTO bdto Transform(BDomain b)
{
bdto.bob = b.bob;
foreach (A a in b.As)
{
bdto.bs.add(Transform(a));
}
}
так как я могу сделать выборку коллекции только одним слоем.
отображение Б:
HasMany(x => x.As)
.Cascade.AllDeleteOrphan()
.Fetch.Select()
.Inverse().KeyColumn("AId");
отображение A в:
References(x => x.B).Column("AId");
возможно дубликат [циркулярное Reference, NHibernate и WCF] (http://stackoverflow.com/questions/1560846/circular-reference-nhibernate-and-wcf) – Peter