Back to questions
Junior — Middle
59
Каким образом можно организовать отношение 'многие к многим' между сущностями в базе данных?
Answer from AI
sobes.tech AI
Отношение «многие к многим» в базе данных обычно реализуется через промежуточную таблицу (join table), которая содержит внешние ключи на обе связанные сущности.
Например, есть сущности Student и Course. Один студент может посещать много курсов, и один курс может иметь много студентов. Для этого создаётся таблица StudentCourse с двумя столбцами: StudentId и CourseId.
Пример на C# с использованием Entity Framework Core:
public class Student
{
public int Id { get; set; }
public string Name { get; set; }
public ICollection<Course> Courses { get; set; }
}
public class Course
{
public int Id { get; set; }
public string Title { get; set; }
public ICollection<Student> Students { get; set; }
}
// В EF Core 5 и выше можно настроить связь без явной сущности для join table
Таким образом, связь реализуется через дополнительную таблицу, которая хранит пары связанных записей.