首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在一次查询中检索`HasMany`实体- Fluent-NHibernate

在一次查询中检索`HasMany`实体- Fluent-NHibernate
EN

Stack Overflow用户
提问于 2012-05-04 00:39:58
回答 2查看 654关注 0票数 1

我有一个Entity,它以多对多的方式保存OtherEntity的集合。此属性的映射如下所示:

代码语言:javascript
复制
HasManyToMany(x => x.OtherEntity)
                .AsBag()
                .Table("EntityToOtherEntityMapping")
                .ParentKeyColumn("EntityId")
                .ChildKeyColumn("OtherEntityId")
                .Not.LazyLoad()
                .Cascade.None();

我注意到,当检索一个Entity集合时,每个OtherEntity集合都有一个单独的SQL查询。

如何让Fluent-NHibernate在一个查询而不是n个查询中执行此检索?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-12 23:39:14

答案是将FetchModel设置为Eager并选择一个ResultTransformer:

代码语言:javascript
复制
.SetFetchMode("Tags", FetchMode.Eager)
.SetResultTransformer(Transformers.DistinctRootEntity)
票数 0
EN

Stack Overflow用户

发布于 2012-05-04 04:39:34

在你的属性上添加fetch join。

代码语言:javascript
复制
.Fetch.Join();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10435704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档