2009-09-03 2 views
3

유창한 nhibernate를 사용하여 도메인 모델을 자동 변환하려고합니다. 이 특별한 경우에는 매핑해야하는 양방향 일대 다 관계가 있습니다. 문제는 자동적으로 쌍방향 관계로 인식하지 않고 두 개의 다른 관계로 구성되어 각각에 대해 별도의 외래 키를 생성한다는 것입니다.Fluent NHibernate Automapping 양방향 관계

유창한 nhibernate가 같은 관계라는 것을 어떻게 알 수 있습니까? 내가 충분히 명확 해 졌으면 좋겠다.

답변

3

1.0RC를 사용하여 자동 매핑을 무시할 수 있습니다. Employee에서 Territory 로의 SharpArchitecture의 양방향 매핑에서이 예제를보십시오. 여기에서 Territory는 관계의 반대입니다.

public class EmployeeMap : IAutoMappingOverride<Employee> 
    { 
     public void Override(AutoMap<Employee> mapping) { 

     //... other omitted mappings... 

     mapping.HasManyToMany<Territory>(x => x.Territories) 
      .WithTableName("EmployeeTerritories") 
      .WithParentKeyColumn("EmployeeID") 
      .WithChildKeyColumn("TerritoryID") 
      .AsBag(); 
    } 
} 

    public class TerritoryMap : IAutoMappingOverride<Territory> 
{ 
    public void Override(AutoMap<Territory> mapping) { 

     //... other omitted mappings... 

     mapping.HasManyToMany<Employee>(x => x.Employees) 
      .WithTableName("EmployeeTerritories") 
      .Inverse() 
      .WithParentKeyColumn("TerritoryID") 
      .WithChildKeyColumn("EmployeeID") 
      .AsBag(); 
    } 
} 
관련 문제