最初に言ったのは、これがEntity Frameworkを使用した最初の経験なので、これが初心者の質問になってしまった場合はお詫びします。これまでのところすべてが順調に進んでいます。しかし、私はどのように対処するのが最善かわからないという状況に遭遇します。
多対多の関係を築く必要があります。ただし、多対多のテーブルには、複合キーだけではありません。この場合、Entity Frameworkはそれを多対多の構造として認識しないため、介在するテーブルを使用せずにコレクションを取得する簡単な機能を取得できないようです。これを行うためのより良い方法はありますか?
簡略化した例:
- ユニットは多くのボードを持つことができ、ボードは多くのユニットにある可能性があります
- それがユニットにあるとき、それがどのスロットにあったかを記録する必要があります。
テーブル:
Unit
UnitID(PK)
UnitName
Board
BoardID(PK)
BoardName
UnitBoard
UnitID(PK,FK1)
BoardID(PK,FK2)
Slot
ADO.NETエンティティデータモデルを使用してこれをコードに取り込むと、ユニットに関連付けられているボードのコレクションをユニットエンティティから取得する簡単な方法がわかりません。その逆も同様です。
これを行うためのより良い方法はありますか、それとも関連するUnitBoardsのコレクションを使用して、それを使用してUnits / Boardsのコレクションを構築する必要がありますか?
これはおそらく私がこのようなことをした最初の人ではないようです。例:Books and Ownersが、関連するBookOwner情報(購入日など)も保持したいと考えていました。