유창한 nhibernate에서 복합 키를 매핑 할 수 있습니까? 키의 절반이 데이터베이스의 ID 필드 인 경우.

StackOverflow https://stackoverflow.com/questions/1615647

문제

질문에서 알 수 있듯이, 합성에 사용 된 두 필드 중 하나가 정체성 필드 인 유창한 nhibernate (또는 비 유창함)에서 복합 키를 매핑 할 수 있습니까?

기본 키의 한 부분이 신원 필드이고 다른 부분은 임차인 ID 인 테이블이 있습니다. 이것은 복합 키가 외래 키로 사용되는 레거시 데이터베이스이므로 데이터베이스를 수정하는 것이 상당히 중요합니다.

감사해요!

도움이 되었습니까?

해결책

그것이 실제로 Identity Column이라면 모든 레코드에 대해 고유 한 것이 보장됩니다.

그렇다면 매핑 목적으로 임차 ID를 완전히 무시할 수 있습니다. 귀하의 ID 필드는 기본 테이블에서 고유 할 것이며 외국 키 참조에는이 고유 한 ID가 포함되므로 테넌시 ID는 실제로 관련이 없습니다.

nhibernate는 데이터베이스 스키마를 정확하게 매핑하는지 실제로 신경 쓰지 않습니다. 비키 열에서 고유 한 제약 조건을 정의한 다음 Nhibernate에게 기본 키로 사용하라고 Nhibernate에게 말하기 전에 레거시 데이터베이스와 함께 작업했습니다. 모든 종류의 끔찍한 복합 키 관계를 깔끔하게 측정 할 수 있습니다. 매핑.

그것에 대해 생각하십시오. 반 직관적이지만 아마도 효과가있을 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top