Можно ли создать отношение «один ко многим» с Code First, в котором между ними используется таблица связей / соединений?
public class Foo {
public int FooId { get; set; }
// ...
public int? BarId { get; set; }
public virtual Bar Bar { get; set; }
}
public class Bar {
public int BarId { get; set; }
// ...
public virtual ICollection<Foo> Foos { get; set; }
}
Я хочу отобразить это следующим образом:
TABLE Foo
FooId INT PRIMARY KEY
...
TABLE Bar
BarId INT PRIMARY KEY
TABLE FooBar
FooId INT PRIMARY KEY / FOREIGN KEY
BarId INT FOREIGN KEY
Благодаря этому у меня была бы возможность убедиться, что у Foo есть только один Бар, но этот Бар может быть повторно использован многими различными Foo.
Возможно ли это с Entity Framework?Я бы предпочел не вставлять ключ в сам Foo, потому что я не хочу обнуляемый внешний ключ.Если это возможно, приведите пример, используя Fluent API, а не аннотации данных.