:상위 키 관계를 외래 키를 사용하여 동일한 테이블에서 모델링 할 수 있습니까? 나는 현재 다음과 같습니다 테이블을 설계하고
Container
ContaienrId
ParentContainerId
LotsOfOtherColumns
아이디어는 컨테이너 (... 다시 부모를 가질 수 있습니다) 부모를 가질 수 있다는 것입니다. 또한 여러 컨테이너가 동일한 부모를 가질 수 있습니다.
ID를 붙일 수는 있지만 Entity Framework를 통해 부모에게 액세스 가능하게하고 싶습니다. 그런 일이 일어나기 위해서는 외래 키가 필요합니다.
을 (. 잘못된 번호가 ParentContainerId에 입력하면 나 또한 FK 위반의 보호를 원하는)하지만이 컬럼에 외래 키를 넣어하려고 할 때이 오류가 얻을 : 내가 얻을
The columns in table 'Container (Container)' do not match an existing primary key or UNIQUE constraint.
을 그것은 UNIQUE 제약 조건을 넣지 않으면 ParentContainerId를 사용하지 않습니다. 하지만 여러 컨테이너는 동일한 부모를 가질 수 있으므로 작동하지 않습니다.
하나의 테이블을 사용하고 외래 키 부모 관계를 갖는 방법이 있습니까?
여러분의 FK가 PK/UNIQUE 컬럼을 _point해야한다고 생각합니다. _That_는 이해할 수 있습니다. FK가 UNIQUE가 될 이유는 없습니다. – geomagas