私は次の最終結果を達成しようとしています。私の Person エンティティには追加の値のコレクションが必要であり、この値のコレクションは Person インスタンスごとに異なります。同様に、インスタンスからインスタンスへの追加の値を持つことができる別の Contact エンティティもあります。
したがって、Person、Contact、および Extra の 3 つのテーブルが必要です。Extra には、追加の値を必要とする Person および Contact インスタンスごとに追加の値のセットがあります。Person と Contact に GUID フィールドを与えることで、GUID 値が両方のテーブルで一意になるため、それを結合するフィールドとして使用できます。したがって、定義は次のようになると思います...
Person
Id - int - Primary Key
Instance - GUID - Unique Constraint
Contact
Id - int - Primary Key
Instance - GUID - Unique Constraint
Extra
Id - int - Primary Key
Instance - GUID
Value - string
しかし、これを Entity Framework にモデル化することはできません。Person エンティティと Contact エンティティに、そのエンティティに関連する Extra 値のセットであるコレクションをそれぞれ持たせたいと考えています。上記のように、一連の列を使用して 3 つのテーブルを作成します。
しかし、関連付けを期待どおりに機能させることはできません.PersonエンティティとContactエンティティの主キーに基づいて、データベースに追加の列を常に追加したいと考えています。これを実際に機能させる方法はありますか?それとも、これはEFでは不可能ですか?