2011-02-28 3 views
3

Castle.DynamicProxy.dll 또는 Castle.Core.dll 또는 Castle.Model.dll 및 nHibernate에 대한 noob의 소개가 단순한 프로젝트와 유사한 여러 가지 파일을 볼 수 있습니다. 이 성 물건은 nHibernate와 어떤 관련이 있습니까? 이 튜토리얼 작성자에 의해 물 위에 muddying되지 않거나 nHibernate 정말 기본 달리기를 얻으려면 점프 의이 종류의 여분의 농구가 필요합니까?nHibernate 샘플 코드의 많은 인스턴스에 Castle dll이 들어있는 이유는 무엇입니까?

답변

7

NHibernate는 지연 객체를 사용하여 프록시 객체를 사용하고 Castle DynamicProxy 모듈을 사용합니다. 이것이 엔티티 프로퍼티가 가상 일 필요가있는 이유입니다. 왜냐하면 NHibernate는 당신의 프로퍼티에 대한 호출을 가로채는 프록시 클래스를 생성하기 때문이다.

+2

버전 2.1부터 NHibernate는 Castle 이외의 동적 프록시 공급자를 사용할 수 있습니다. http://nhforge.org/blogs/nhibernate/archive/2008/11/09/nh2-1-0-bytecode-providers.aspx를 참조하십시오. –

관련 문제