문제

nhibernate.linq (1.0.0.4)와 함께 nhibernate (2.0.1.4)를 사용하여 데이터베이스에서 유형 노드의 객체를 가져오고 있습니다.

이 객체를 얻을 때, 내가 얻은 컬렉션의 마지막 객체는 유형 프록시입니다 ( "nhibernate.bytecode.linfu" "를 사용했기 때문에).

다음 LINQ 쿼리를 사용했습니다.

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

Anchestornodes는 노드 객체를 얻는 ID 목록입니다.

"Ancestornodes"목록에 3 ID가있는 경우 결과 (MyNodes)의 마지막 객체 (MyNodes)는 Nodeproxy 유형입니다.

이게 어떻게 될 수 있을까요? 왜 항상 마지막 개체입니까? 이 문제를 어떻게 해결할 수 있습니까?

도움이 되었습니까?

해결책

프록시 객체가 inhibernateproxy를 구현하는 경우 다음 코드로 nhibernate로 객체를 양산성에 맞지 않을 수 있습니다.

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

도움이 되었기를 바랍니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top