暗黙的なジョイントテーブルを使用して多対多の共通パターンからシンプルにジョイントテーブルを使用して一種の遅延ロードを実装したい多対多の依存エンティティのエンティティへのリンクを持たないEFの多対多関係
これは、オブジェクトグラフがhttp経由でアプリケーションサーバーに渡される切断されたセットの設計によって枠が設定されています。サーバー上では、エンティティではなくキーだけを更新します。 その理由:エンティティモデルの異なるインスタンスで定義された同じエンティティを保存しようとすると、同時に発生するシナリオエラーが発生します。 代わりに、オブジェクトを渡すのではなく、ちょうどID付きのジョイントテーブルを渡すだけです。
Class
-------
int ID
List ClassStudent
Student
-------
int ID
List ClassStudent
ClassStudent // this type must be explicitely defined in the model
--------------
StudentID
ClassID
FluentApiでこのような設定を定義することはできますか?
共通scenarionは、型を使用している:
Student
---------------
int ID
List Classes
Class
----------
int ID
List Students
私は同時変更のこのbeacuseは必要ありません。 流暢なAPIを手助けする必要があります。私は多くの場合を試みました。
ありがとうございます!それは私を救った。私は外部キーでClassStudentを取得します。今、IQueryableを取得すると、を含むプロパティが空になります。 ClassStudentテーブルを個別にロードする必要がありますか?または、流暢なAPI設定を使用してプロパティを埋める別の方法がありますか? –
Dmitry
あなたは大歓迎です。私は最後のコメント/質問をよく理解していません。もっと特別なものは必要ありません。 'var classes = db.Class.Include(e => e.ClassStudent).ToList();'のようなものを実行すると 'ClassStudent'プロパティが読み込まれます。 'Student'sに似ています。 –
はい、ちょうどデータを書き込むことを忘れてしまった。それは大丈夫です。 – Dmitry