2009-05-29 7 views
0

유창한 nhibernate에서 조인 된 서브 클래스를 자동 매핑 할 때 조인 된 서브 클래스에 기본 키를 부여하는 방법을 알 수 없습니다.Fluent NHibernate Automap 조인 하위 클래스 키 설정

위치가 자신의 ID 인 "위치 _ id"를 자신의 순서대로 갖고 싶습니다. 그런 다음 그 주소가 address_id 열을 통해 매핑되도록합니다.

지금은 기본 키로 "addressid"를 사용하여 위치를 생성하고 있는데, 이는 내가 원하는 것이 아닙니다. 어떻게 오토 맵핑으로 이것을 바꿀 수 있습니까?

답변

0

조인 한 하위 클래스 관계가 있는지 잘 모르겠습니다. 즉, 정의에 따라 조인 된 서브 클래스는 그 부모 클래스와 동일한 ID를가집니다. 예를 들어 이름/연령/등의 일반 "사람"정보에 대해 데이터베이스에 Person 엔티티를 저장 한 다음 다른 테이블에 저장하고 위치, 급여 및 고용 날짜와 같은 데이터를 보유하는 Employee 하위 클래스 엔티티를 가질 수 있습니다 . 따라서 EmployeePerson의 하위 유형이고 완전한 "Employee-Person"개체를 얻으려면 기본 키 (예 : SELECT * FROM Employee INNER JOIN Person ON Employee.Employee_id = Person.Person_id)에서 두 테이블을 조인해야합니다.

관계형 모델에 대한은 여기에 있습니까? Location은 실제로 하위 유형 Address입니까? 당신의 재산 이름에서 약간을 유추하면, 이것은 당신이 의도 한 것이 아니라고 생각합니다. AddressOrganization 사이의 다 대다 (즉, 동일한 주소에 많은 "조직"이있을 수 있고 "조직"에는 많은 주소가있을 수 있음) 사이에 "다 른 사람"이있는 다 대다가있는 것처럼 보입니다. 특정 주소의 조직을위한 이 경우 "organization", "contact"및 Address과 "organization"사이의 관계를 정의하는 다른 엔터티를 매핑해야합니다.

+0

네 말이 맞아, 이미이 코드에서 코드를 변경했다. 나는 그저이 방식으로 설정하여 주소처럼 내 양식에 묶을 수 있기를 원했습니다. 나는 그것이 내가 원하는 방식이 아니지만 모든 것이 효과가있다. 답변 해주셔서 감사합니다. –

관련 문제