Estoy tratando de buscar con impaciencia las colecciones con selects, pero todo lo que soy obteniendo es inner se une. Que esta pasando?Forzar una selección entusiasta en NHibernate
Session.CreateCriteria(typeof(Foo))
.SetFetchMode("Bars", FetchMode.Select)
.CreateAlias("Bars", "b")
.SetFetchMode("b.Bazes", FetchMode.Select)
.List();
He intentado cambiar fetchMode a Eager, pero eso no quiere trabajar - Me todavía consigo combinaciones internas en lugar de selecciona separadas. No estoy seguro de dónde está obteniendo la unión interna, porque nada en los documentos habla de FetchMode que causa uniones internas. ¿Es posible obtener selecciones ansiosas?
Actualización Bien He pensado que crear un alias provoca una unión interna. Así que puedo usar .CreateAlias ("Bars", "b", JoinType.None), pero luego la recuperación de b.Bazes revierte a la carga diferida. Urgh.
Pero el tipo de combinación predeterminado suele ser combinación externa izquierda, ¿no? Las combinaciones internas no funcionan si la clave externa es anulable, o como en mi caso, donde las barras podrían estar vacías. También los documentos parecen indicar que puede hacer una selección entusiasta. – cbp