3

多くの異なるオブジェクト (テーブル) を持つアプリケーションを構築していますが、その多くは「属性」オブジェクトと 1 対多の関係を持つ必要があります。たとえば、A、B、C、D、E の 5 つの異なるオブジェクトを持つことができ、それぞれに Attributes プロパティ (A.Attributes、B.Attributes など) が必要です。

私の質問は、これを EF Code First で構造化する最善の方法は何でしょうか? この属性クラスは、それと関係を持つ 15 ~ 20 の異なるクラスを持つことになる場合があります。

現在、「親」クラスの 1 つの構成は次のようになっています。

        HasMany(rdp => rdp.Attributes)
            .WithOptional()
            .WillCascadeOnDelete();

ただし、これにより、属性テーブルに外部キー列が作成されます (たとえば、「A_Id」、「B_Id」など)。したがって、属性を持つ 20 の異なるクラスがある場合、属性テーブルには 20 の異なる外部キーがあります。

これを構造化するより良い方法はありますか?

4

1 に答える 1