2010-06-15 4 views
3

내 응용 프로그램에는 DisplayIndicator라는 부울 속성이 있습니다. 데이터베이스 (DB2)에서는 대응 형이 smallint 유형의 DISPL_IND 열입니다. 대응은 다음과 같습니다 : [DisplayINdicator = True, DISPL_IND = 1] 및 [DisplayINdicator = False, DISPL_IND = 0] nhibernate fluence를 사용하여 bool 속성을 smallint에 매핑 할 수 있습니까?nhibernate 유창한 bool에서 smallint 매핑

+0

그냥 작동하지 않습니까? MySQL에서도 마찬가지입니다. 부울은 tinyint로 매핑됩니다. 난 그냥 내 코드에서 bool을 사용하고 특별한 일을 할 필요가 없었어요. – simendsjo

+0

true로 변환하는 것을 모릅니다. 값이 "True"인 쿼리를 생성하고 데이터베이스에서 실패합니다. – Raul

+0

그래, MySQL과 조금 달라야한다. MySQL은 1과 0에 매핑되는 TRUE와 FALSE 타입을가집니다. – simendsjo

답변

2

나는 Frans의 조언을 듣고 알아 냈다. 나는 짧은 형식으로 부울 유형을 매핑하는 데 사용 NHibernate에 사용자 유형을 나타내는 클래스를 생성 : 맵핑에 IUserType

, 나는 CustomType 속성을 추가하고 지금은 다음과 같습니다 :

공용 클래스 BooleanAsShortType이

지도 (x => x.DisplayIndicator, "DSPL_IND"). 사용자 지정 유형 < BooleanAsShortType>();

+0

그 답을 받아 들여야합니까? – Spook

1

클래스에 IUserType을 구현하고 bool을 짧고 뒤로 변환하여 필요한 필드에 적용 할 수 있습니다.

관련 문제