Сначала я создаю базу данных, используя код EF6, и изо всех сил пытаюсь создать отношения «один ко многим», используя таблицу переходов.Взаимодействие от одного до другого с помощью таблицы соединений с использованием кода Entity Framework сначала
Вот пример того, что я пытаюсь сделать:
Foo
объекты могут содержать любое количество (0-п) Bar
субъектов, однако Bar
сущности не обязательно принадлежат к Foo
. Я хочу, чтобы другой тип объекта также содержал один или несколько Bar
, поэтому важно, чтобы Bar
не содержал внешний ключ его родителя.
Так присоединиться к таблице будет выглядеть примерно так:
Name | FooBar
------------|-------
Primary Key | BarID
Key | FooID
Так что, если мы создаем объекты следующим образом:
public class Foo
{
public long ID { get; set; }
public ICollection<Bar> Bars { get; set; }
}
public class Bar
{
public long ID { get; set; }
}
А затем настроить их:
public class FooConfiguration : EntityTypeConfiguration<Foo>
{
HasKey(p => p.ID);
HasMany(p => p.Bars)
.WithRequired()
.Map(m => {
m.ToTable("FooBar");
m.MapKey("FooKey");
});
}
Но это приводит к следующему исключению:
An exception of type 'System.InvalidOperationException' occurred in mscorlib.dll but was not handled in user code. Additional information: The specified table 'FooBar' was not found in the model. Ensure that the table name has been correctly specified.
К сожалению, я не уверен, что это значит - мне нужно создать отдельный объект FooBar
?
Как настроить эти объекты так, чтобы таблица соединений была правильно создана?
Спасибо!
'ребенок лицо принадлежит ко многим различным родительском entities', если родитель может иметь несколько детей вы в От многих до многих, а afaik это его единственный случай, в котором вы нуждаетесь/имеете таблицу соединений в EF – tschmit007
. Я должен был быть более ясным - дочерняя сущность используется многими разными объектами, но это, в частности, отношение одного родителя ко многим детям которые я изо всех сил пытаюсь создать. –
Вы имеете в виду, что у ребенка может быть или нет один родитель, но может быть в (другом) отношении со многими объектами типа Parent? – tschmit007