我的域 A 和 B 中有 2 个对象
对象 A 具有 B 的属性 对象 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");