2010-01-26 2 views
2

NHibernate 질문 :NHibernate : 게으른로드 속성?

SQL 테이블 Person이 있으며 그림 열 (OLE 개체)이 있다고합니다. 나는 Person이라는 클래스를 가지고 있고 그것은 : byte [] 그림 속성이다.

이렇게 매핑 할 수 있습니까?

<property name = "Picture" column = "Picture" type = "System.Byte[]" lazy="true" /> 

"게으른"키워드는 속성에 영향을 미치지 않습니까? 아니면 컬렉션/가방 등으로 작업 할 때만 사용할 수 있습니까?

+1

가 여기 Ayende 그것에 대해 말하는 http://ayende.com/Blog/archive/2007/08/26/Lazy- NHibernate.aspx에서 프로퍼티로드 중 –

답변

3

나는이 작업을 얻을 수있는 방법을 발견하지 않은,하지만이 문제를 해결 당신을 도울 수있는 다음과 같은 두 가지 방법으로 당신은 의미 :

  • 당신은 같은 테이블에 대해 두 개의 클래스를 매핑 할 수 있습니다, 하나는 포함 바이트 배열, 다른 않습니다.

  • 같은 테이블에 하위 클래스가 포함되어있는 다차원 속성 매핑을 포함 할 수 있으며 Person.Picture이 아닌 Person.PersonPicture.Picture을 사용하여 이진 파일에 액세스 할 수 있습니다. 중간 클래스는 이제 게으르게로드 될 수 있습니다.

어느 쪽도 이상적이지만 작동하지 않습니다. 짧은 대답 - 콜렉션과 many-to-one 프로퍼티는 지연로드 될 수 있으며, 곧바로 프로퍼티가 될 수 없습니다.