2014-06-18 2 views
1

나는 나의 데이터베이스에 2 대 1 테이블을 가지고 있으며, 그들 중 하나만 다른 테이블에 외래 키를 가지고있다. 여기 내가 무슨의 예입니다Fluent NHibernate 하나의 외국 컬럼을 가진 일대일

표 1 : 컨테이너
- 아이디 (PK)

표 2 : 항목
- 아이디 (PK)
- ContainerId (FK)

매핑 할 수있는 모델을 다음과 같이 매핑 할 수 있습니다.

public class Container{ 
    public virtual int Id {get;set;} 
    public virtual Item Item {get;set;} 
} 

public class Item{ 
    public virtual int Id {get;set;} 
    public virtual Container {get;set;} 
} 

나는 항목컨테이너,가이 명시 적 컬럼을 가지고 있기 때문에이 구성 할 수 있지만 컨테이너에 대해 수행 할 수있는 방법?

감사합니다.

답변

1

사실 일대일 관계가 아닙니다. 기본 키는 두 테이블 모두에서 일대일로 동일해야합니다. Container.Id! = Item.Id. 그것은 many-to-one입니다. 당신이 뭔가를 할 것이다 매핑 당신의 품목에서

:

Id(x => x.Id); 
References(x => x.Container); 

귀하의 Container 매핑은 유사하다.

http://www.jagregory.com/writings/i-think-you-mean-a-many-to-one-sir/

+0

내 예를 들어 모델을 매핑하는 데이터베이스가 일대일 같이 할 수 있습니까? –

관련 문제