Я использую NHibernate (2.0.1.4) с NHibernate. Linq (1.0.0.4) для получения Объектов Узла типа от Базы данных.
Когда я получаю эти объекты, последний объект набора, который я получил, имеет Прокси типа (потому что я использовал "NHibernate. ByteCode. LinFu"")
Я использовал следующий запрос linq:
var mynodes = from node in session.Linq<Node>() where ancestorNodes.Contains(node.Id) select node).ToList()
anchestorNodes является списком идентификатора для объектов узла для получения.
То, когда у меня есть 3 идентификатора в списке "ancestorNodes", последнем объекте результата (mynodes), я добрался от запроса, имеет тип nodeProxy.
Как это могло быть? Почему это всегда - последний объект? Как я могу решить эту проблему?
Если ваш прокси-объект реализует INhibernateProxy, вы можете отключить прокси-объект с помощью NHibernate с помощью следующего кода:
iAmaSession.GetSessionImplementation().PersistenceContext.Unproxy(iAmaProxy)
Надеюсь, это поможет!