これは、精通したEFユーザーにとっては簡単な質問です。
テーブル間の関係がどのように見えるかについて、次のスキーマ(頭の中に)があります。
[FooBar] [Foo] [Bar]
FooId PK,FK Id PK Id PK
BarId PK,FK BarId FK Name
IsRead Name Description
Description
ただし、EFコードを使用してスキーマを生成しようとすると、最初に、エンティティ間の関係を解釈したとおりに解釈できず(テーブルに外部キーFooId
を追加)、ブリッジテーブル[bar]
を完全に作成できません。[FooBar]
誰かがEF4コードを使用して上記のスキーマを実現する方法について私を案内してくれるなら、最初にそれをいただければ幸いです。ソリューションにPOCOモデルの属性が含まれるか、流暢な構成であるか、両方のハイブリッドであるかは、目的のデータベーススキーマが作成されている限り、それほど重要ではありません。
POCOモデル:
public class Foo
{
public int Id { get; set; }
public string Text { get; set; }
public string Description { get; set; }
public int BarId { get; set; }
public Bar Bar { get; set; } /* bar entity */
public virtual ICollection<Bar> BridgedBars { get; set; }
public Foo()
{
Bars = new List<Bar>();
}
}
public class Bar
{
public int Id { get; set; }
public string Text { get; set; }
public string Description { get; set; }
public virtual ICollection<Foo> Foos { get; set; }
public virtual ICollection<Foo> BridgedFoos { get; set; }
public Bar()
{
Foos = new List<Foo>();
BridgedFoos = new List<Foo>();
}
}
public class FooBar
{
public int FooId { get; set; }
public int BarId { get; set; }
public virtual Foo Foo { get; set; }
public virtual Bar Bar { get; set; }
public bool IsRead { get; set; }
}