現在、次のようなテーブルを設計しています。
Container
ContaienrId
ParentContainerId
LotsOfOtherColumns
アイデアは、コンテナが親を持つことができるということです(さらに親を持つことができます...)。また、複数のコンテナが同じ親を持つこともできます。
そこに ID を貼り付けることができますが、Entity Framework を介して親にアクセスできるようにしたいと考えています。そのためには、外部キーが必要です。(ParentContainerId に無効な番号が入力された場合の FK 違反の保護も必要です。)
しかし、これらの列に外部キーを配置しようとすると、次のエラーが発生します。
テーブル 'Container (Container)' の列は、既存の主キーまたは UNIQUE 制約と一致しません。
UNIQUE 制約を設定しない限り、ParentContainerId を使用できません。ただし、複数のコンテナーが同じ親を持つことができるため、それは機能しません。
1 つのテーブルを使用し、外部キーの親子関係を持つ方法はありますか?