ORM ツールとして EF5 を使用しています。次のように、DB 内の 3 つのテーブル間に関係があります。
表 1 が主な表です。これは、表 2 に対して「1 対 0..1」の関係にあります。表 2 は、表 3 に対して「多対 1」の関係にあります。
これを EF にインポートすると、表 2 が折りたたまれます (非表示になります)。次のようにして表 3 に移動します。
Table1.Table3
基本的に、コードを生成するための私の T4 テンプレートでは、表 1 と表 3 の間の関係が中間の表を隠しているかどうかを知る必要があります。
これどうやってするの?
次のように、ナビゲーション プロパティの関係の多重度を確認できるため、多対多のテーブル リンクは簡単です。
if (navProperty.FromEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many &&
navProperty.ToEndMember.RelationshipMultiplicity == RelationshipMultiplicity.Many)
間にテーブルがないことはわかりますが、上記のモデルでは、多対 0..1 の関係になり、中央のテーブルが隠れている場合と隠れていない場合があります。
何か案は?