2011-04-13 2 views
0

모든 영속 객체는 영속되지 않아야하는 속성을 가지고 있습니다. 이 순간 Fluent NHiberanate 사용하기 어떻게 비 영속적 인 속성의 매핑을 꺼야합니까?

내가 생성이처럼 내 자동 매핑 : 다음과 같은 오류가 반환됩니다 그러나

var autoMap = 
    AutoMap.AssemblyOf<BaseEntity>() 
    .Where(type => type.Namespace != null && type.Namespace.Contains("Models")) 
    .Conventions.AddFromAssemblyOf<IEntity>() 
    .OverrideAll(map => map.IgnoreProperty("IsDummy")); 

:

System.TypeInitializationException : System.TypeInitializationException : 의 형식 이니셜 ' Core.Context '예외가 발생했습니다. ---> NHibernate.InvalidProxyTypeException : 다음 유형 프록시로서 사용되지 않을 수 Core.Models.MyEntity은 : 방법은 get_IsDummy는 '는 공중/보호 가상'또는 '가상 내부 보호'이어야

이것은 오버라이드가 작동하지 않는다고 생각합니다. (Core.Context가 매핑 프로세스를 시작하는 클래스 임)

답변

1

매핑되지 않은 경우에도 가상 속성을 만들어야합니다. 그렇지 않으면, Hibernate는 당신의 객체를 게으른 로딩을위한 프록시를 제대로 생성 할 수 없다.

관련 문제