2010-02-04 2 views
0

나는 이것에 대해 많은 게시물을 발견했지만 아무도 직접 도와주지 않는 것 같습니다. 또한 FluentNHibernate 개발의 여러 단계에서 작동하거나 작동하지 않는 솔루션에 대한 혼란이있는 것으로 보입니다.(Fluent) NHibernate : IDictionary <MappedClass, MyEnum> 매핑하기

public class MappedClass 
{ 
    ... 
} 

public enum MyEnum 
{ 
    One, 
    Two 
} 

public class Foo 
{ 
    ... 
    public virtual IDictionary<MappedClass, MyEnum> Values { get; set; } 
} 

내 질문은 다음과 같습니다 :

  1. 내가 MyEnum의 별도의 (제 3 호) 테이블을해야합니까 나는 다음과 같은 수업을

    ?

  2. 어떻게 MyEnum 유형을 매핑 할 수 있습니까? 해야합니까?
  3. Foo의 매핑이 어떻게되어야합니까? 매핑되지 않은 클래스 협회 참조 : NHibernate.MappingException :
  4. 내가 해봤

매핑 hasMany의 (X => x.Values) .AsMap ("MappedClass")는 ... 이 결과 MyEnum

+0

엔티티를 키로 ​​사용하고 enum을 값으로 사용하고 있습니까? –

+0

에는 대체 고려 사항이 있습니까? – anthony

+0

구체적으로, 모든 Foo는 MappedClass 당 하나의 MyEnum 값을 가질 수 있습니다. 이 구조를 표현하는 최선의 방법이 무엇인지 명확하지 않습니다. – anthony

답변

0

그것을 이 질문은 Fluent code for mapping an IDictionary<SomeEntity, int>?의 중복 인 것 같습니다. 해결 방법은 hbm.xml을 사용하여 세 가지 연관 테이블을 매핑하는 것이 었습니다. FluentNHibernate의 AsTernaryAssocation() 메소드는 엔티티 유형에서만 작동했습니다. 이것이 바뀌 었는지 또는 계획된 기능인지는 알 수 없습니다.