linqの外部キーテーブルで2つのテーブルを結合しようとしています。 2つのテーブルは アイテムとクラスで、外部キーテーブルはItemClasses(ItemId、ClassId)です。Entity Frameworkの外部キーテーブルで2つのテーブルを結合するにはどうすればよいですか?
コンテキストには外部キーテーブル用のDBSetがありません。追加するときにモデル作成エラーが発生します。
私は、エラーを見たとき、私はこのコードは、外部キーテーブルに
modelBuilder.Entity<Classes>()
.HasMany(e => e.Items)
.WithMany(e => e.Classes)
.Map(m => m.ToTable("ItemClasses").MapLeftKey("ClassId").MapRightKey("ItemId"));
を呼び、私はクラスを介して項目を参照することができるはずのようなので、それが見えますが、どのように私は参加しないことに気づきましたテーブル?
私はFKテーブルは私のコンテキストではないときに加入しますかどのようにこの
query = from ig in myCtx.Items.AsNoTracking()
//join di in myCtx.ItemClasses.AsNoTracking() on ig.Id equals di.ClassId
join c in myCtx.Classes.AsNoTracking() on di.ClassId equals c.Id
join dd in myCtx.SalesAssociates.AsNoTracking() on dd.Id equals ig.SalesAssociateId
ような何かをしたいのですが、テーブルのいずれかで呼ばれますか?
:
だから代わりに、あなたはこのようなものを使用します参加します。 LINQクエリで 'class.Items'を使うだけです。これは、これらのナビゲーションプロパティ*のためのものです。 –