В отношении «многие ко многим» в Code First будет использоваться составной ключ между двумя отдельными объектами.Таким образом, в промежуточной таблице (которая не обязательно показана вам, так как вы будете использовать объектную модель для доступа к вашей информации), вы можете объединить столько Gerecht и Bestellingen, сколько захотите - , пока комбинацияэти два элемента уникальны (представьте себе составной ключ).Если вы попытаетесь создать дополнительные отношения между Gerecht и Bestellingen, вы можете сделать это, только если есть другой уникальный идентификатор.В этом случае вы должны создать дополнительный объект вместе с соответствующими составными ключами.
Пример (извините ... не знаком с голландским языком, поэтому я буду использовать пример на английском языке):
public class Person
{
public int PersonID { get; set; }
public virtual ICollection<PersonCourse> PersonCourses { get; set; }
}
public class Course
{
public int CourseID { get; set; }
public virtual ICollection<PersonCourse> PersonCourses { get; set; }
}
public class PersonCourse
{
[Key, Column(Order = 0)]
public int PersonID { get; set; }
[Key, Column(Order = 1)]
public int CourseID { get; set; }
[Key, Column(Order = 2)]
public int AnotherUniqueParameter { get; set; }
// Navigation Properties
public virtual Person { get; set; }
public virtual Course { get; set; }
}
Пока комбинация трех столбцов в PersonCourse уникальна, вы можете добавить столько отношений между конкретным человеком и курсом, сколько пожелаете.Конечно, использование этой промежуточной таблицы необходимо только в этой ситуации.В противном случае то, что вы уже сделали, является правильным (по крайней мере из того, что я могу сказать на основе вашего вопроса).