2012-02-17 22 views
0

は、私が旅と乗客が多対多の関係にある3つのテーブルがあります。多対多Entity Frameworkの中

トリップ{TripId}

旅客{PassengerName}

TripPassengerを{ Tripid、PassengerName}

がトリップID 1のすべての乗客例えば、私は旅行で乗客のリストを取得したいと仮定します。

TripId PassengerName 
1  admin 
1  derp 
1  alex 
2  admin 

解決策またはガイドラインはありますか?

+0

これはMVC3とどのように関連していますか? – Robaticus

+0

@Robaticus、それは絶対に無関係です。再度タグ付けされた質問。 –

+0

ありがとうダーリン。また、OPが彼のデータモデルを間違って表現したかもしれないと私は思う。書かれているように、旅行1で乗客のリストを選択する場合は、旅行IDと旅客名の両方が含まれているので、TripPassengerテーブルに問い合わせるだけです。 – Robaticus

答えて

0

最初のクエリトリップテーブルと必要なトリップオブジェクト

Trip tripToSearch = context.Trips.SingleOrDefault(trip => trip.Id == 1); 

を取得し、その後上記見つかっトリップオブジェクト

tripToSearch.Passengers 

の旅客オブジェクトのコレクションは、旅客オブジェクトのリストを返します。検索したTripオブジェクトに関連付けられています

+0

それは動作しません。トリップと旅客の間に直接の関係はありません。 – Robaticus

+0

私は、TripPassengerテーブルをcontext.TripPassengers.Where(tp => tp.TripId == 1)として直接クエリできると思います。TripId == 1を持つTripPassengerオブジェクトをすべて返します。 – Jayanga

+0

EFは純粋な結合テーブルをデフォルト。旅行と乗客の間には関連があるかもしれませんが、OPには言及されていません(投稿にはあまり情報がありません)。 –

関連する問題