Recuperación de entidades `HasMany` en una sola consulta - Fluent-NHibernate

Tengo una Entity que alberga una colección de OtherEntity en una relación de estilo muchos a muchos. El mapeo para esta propiedad se ve así:

HasManyToMany(x => x.OtherEntity)
                .AsBag()
                .Table("EntityToOtherEntityMapping")
                .ParentKeyColumn("EntityId")
                .ChildKeyColumn("OtherEntityId")
                .Not.LazyLoad()
                .Cascade.None();

Me doy cuenta de que al recuperar una colección de Entityhay una consulta SQL separada para cada colección de OtherEntity.

¿Cómo puedo hacer que Fluent-NHibernate ejecute esta recuperación en una consulta en lugar de n?

preguntado el 03 de mayo de 12 a las 17:05

2 Respuestas

Agregue Fetch Join en su propiedad.

.Fetch.Join();

contestado el 03 de mayo de 12 a las 21:05

La respuesta resultó ser establecer FetchModel en Eager y seleccionar un ResultTransformer:

.SetFetchMode("Tags", FetchMode.Eager)
.SetResultTransformer(Transformers.DistinctRootEntity)

Respondido el 12 de junio de 12 a las 16:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.