同様のタイプの複数のテーブルを使用してデータベースをレイアウトしようとしています。単純化された獣医システムを考えてみましょう。私は次のテーブルを持っています:
- 犬
- 猫
- 鳥
- 所有者
私の1つの制約は、各所有者が正確に1匹のペットを持つことができるということです。参照整合性を維持したいのですが、Ownersテーブルに外部キー専用の3つの列を持たせたくありません(ある時点でさらにペットの種を追加する必要があるかもしれないので見てください)。
さらに、Entity Frameworkを使用する場合は、Owner.Petと同じくらい簡単にリンクするようにエンティティを設定し、基になるメカニズムでプルする必要のあるテーブルを決定できるようにしたいと思います。
私は2番目の部分を行う方法を考え出しましたが、それはせいぜい厄介です。誰かがこのようなことを試し、幸運にもややエレガントな解決策を思いついたことがありますか?