Соотношение между многими и многими со ссылкой на внешний ключ
Это должен быть простой вопрос для хорошо осведомленного пользователя EF.
У меня есть следующая схема (в моей голове), как должны выглядеть отношения между таблицами.
[FooBar] [Foo] [Bar]
FooId PK,FK Id PK Id PK
BarId PK,FK BarId FK Name
IsRead Name Description
Description
Хотя, когда я пытаюсьgenerate схема, использующая код EF, сначала не может интерпретировать отношения между объектами, как я их интерпретировал (добавляет внешний ключFooId
к[bar]
таблица) и не в состоянии полностью создать[FooBar]
Мост стол
Если бы кто-то мог подсказать мне, как реализовать вышеуказанную схему с использованием кода EF4, я был бы очень благодарен. Включает ли решение атрибуты в мои модели POCO, текущие конфигурации или их комбинацию, не имеет большого значения - до тех пор, пока создается желаемая схема базы данных.
POCO Models:
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; }
}