2009-12-08 25 views
9

Estoy usando NHibernate (2.0.1.4) con NHibernate.Linq (1.0.0.4) para obtener objetos del tipo Nodo de la base de datos.NHibernate Obtener objetos sin proxy

Cuando llego a estos objetos, el último objeto de la colección que tengo es del tipo de proxy (porque solía "NHibernate.ByteCode.LinFu"")

he utilizado la siguiente consulta LINQ:

var mynodes = from node in session.Linq<Node>() where ancestorNodes.Contains(node.Id) select node).ToList() 

anchestorNodes es una lista de identificación de los objetos de nodo de conseguir.

Cuando tengo 3 de ID en la lista de "ancestorNodes", el último objeto del resultado (mynodes) que obtuve de la consulta es de la tipo nodeProxy.

¿Cómo podría ser esto? ¿Por qué es siempre el último objeto? ¿Cómo puedo resolver este problema?

Respuesta

17

Si el objeto proxy implementa INhibernateProxy, puede unproxy el objeto con NHibernate con el siguiente código:

iAmaSession.GetSessionImplementation().PersistenceContext.Unproxy(iAmaProxy) 

Espero que esto ayude!

Cuestiones relacionadas