2011-12-17 2 views
0

현재 Fluent NHibernate에서 NHibernate 태그 index-many-to-many과 동등한 것을 사용하는 방법이 있습니까?Fluent NHibernate index-many-to-many

내가 달성하기 위해 노력하고 매핑 거의 완벽 맵에 인덱스를 지정이 하나 개의 요소에서 분리하는 HasManyToManyAsMap을 사용하여 생성되었습니다

생성되었습니다 <index type=...

가되어 있어야합니다 : 는 <index-many-to-many class=...

편집 : 현재 내가 사용하고있는 해결 방법은 파를 생성하는 것입니다 수동으로 매핑 파일을 편집하고, 매핑 코드를 주석 처리 한 다음, 수정 된 매핑 파일을 Fluent NHibernate 대신 수동으로 추가하여 주석 처리 된 매핑 코드에서 생성합니다. 매핑이 변경 될 때마다 이상적이지는 않지만이 프로세스를 다시 수행해야하지만 일단 매핑이 변경되지 않으면 많은 문제가 발생하지 않습니다.

답변

0

AsMap 이외에 AsTernaryAssociation을 사용하여이를 해결했습니다. 유형 매개 변수를 포함하는 것은 어떤 이유로 작동하지이 발생

HasManyToMany(x => x.TheDictionary) 
    .AsMap("KeyColumn") 
    .AsTernaryAssociation("KeyColumn", "ValueColumn"); 

HasManyToMany<ValueEntity>(x => x.TheDictionary) 
    .AsMap<KeyEntity>("KeyColumn") 
    .AsTernaryAssociation("KeyColumn", "ValueColumn"); 
(즉, 아래 FluentNHibernate.Cfg.FluentConfigurationException가 발생합니다) :

요약에서, IDictionary<KeyEntity,ValueEntity> 내가 매핑이지도로

누구든지 알고있는 경우 입력 된 버전이 작동하지 않는 이유를 알고 싶습니다.

+0

'.AsMap ("KeyColumn")는 AsMap과 TernaryAssociation이 상호 배타적이기 때문에 여기서는 noop/unnessesary 여야합니다. 아마도 유형이 AsMap을 통해 이미 선언 된 다음 AsTernary에 추가하려고했을 때 throw되는 이유 일 수 있습니다. – Firo