私はテーブルを持っています
観光客
Tourist_ID
2.お名前
追加料金
- Extra_Charge_ID
- 説明
Toutist_Extra_Charges
- Tourist_Extra_Charge_ID - 主キー
- Tourist_ID - 外部キー
- Extra_Charge_ID - 外部キー
エンティティフレームワークentを使用してこのSQLクエリを作成しようとしています
"Select Tourist.Name, Extra_Charges.Extra_Charge_Description, FROM Tourist
LEFT JOIN TOURIST_EXTRA_CHARGES on Tourist.Tourist_ID = TOURIST_EXTRA_CHARGES.Tourist_ID
LEFT Join EXTRA_CHARGES on TOURIST_EXTRA_CHARGES.Extra_Charge_ID = EXTRA_CHARGES.Extra_Charge_ID
WHERE Tourist.Tourist_ID=86
id=86(extra_charges を持っていない場合のイベント) の観光客の名前を取得したいのですが、彼が EXTRA_CHARGES を持っている場合 - EXTRA_CHARGE の説明
私はエンティティフレームワークが初めてなので、次のことを試しました
foreach (var tourist in db2.Tourist.Include("TOURIST_EXTRA_CHARGES").Include("EXTRA_CHARGES").Where(x=>x.Tourist_ID==86))
{
lblproba.Text+="Name" + tourist.Name_kir+" Description" + tourist.TOURIST_EXTRA_CHARGES.//don't have access to extra_charges table
}
しかし、tourist.TOURIST_EXTRA_CHARGES と入力すると、extra_charges テーブルとその Description 列にアクセスできません。
編集:
多対多の関係でエンティティ フレームワーク マッピングを使用するには、列 TOURIST_EXTRA_CHARGE_ID を削除し、複合主キーを作成する必要があることを読みました。しかし、それを行って新しい edmx モデルを作成すると、Tourist_Extra_Charges テーブルが表示されなくなりました。そして、モデルを何度作成しても、このテーブルはモデルに発生しませんでした