我有我的域名A 2点的对象,和B功能NHibernate循环引用疼痛
对象A具有b个 对象B的酒店列表
的属性,当我做一击在我的分贝,它返回一个As列表,但是每个A都有一个B,而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));
}
}
所以我怎样才能让我的集合只取一层深。
B的映射:
HasMany(x => x.As)
.Cascade.AllDeleteOrphan()
.Fetch.Select()
.Inverse().KeyColumn("AId");
A的映射:
References(x => x.B).Column("AId");
的可能重复[循环引用,NHibernate和WCF] (http://stackoverflow.com/questions/1560846/circular-reference-nhibernate-and-wcf) – Peter 2013-02-08 13:22:42