Нужно ли мне создавать класс POCO для представления таблицы соединений в отношениях многих-многих?EF5 Многие из многих присоединяются к текущему API-интерфейсу
Это мой сценарий:
public class Event
{
public int EventId { get; set; }
public int OrganizerId { get; set; }
}
public class Person
{
public int PersonId { get; set; }
ICollection<Event> Events { get; set; }
}
public class Company
{
public int CompanyId { get; set; }
ICollection<Event> Events { get; set; }
}
Как человек или компания может организовать мероприятие, я думал, чтобы создать таблицы объединения как
Table Events_People
PersonId
OrganizerId
Table Events_Companies
CompanyId
OrganizerId
Я знаю, что должен легко сделать, если Я создаю два Pocos классы, как
public class EventPerson
{
public int EventId { get; set; }
public Person PersonId { get; set; }
}
чем с Fluent API что-то вроде
modelBuilder.Entity<Person>()
// PK
.HasKey(e => e.PersonId)
// FK
.HasMany(e => e.Events)
.WithRequired(e => e.PersonId);
Есть ли способ избежать двух POCO и напрямую сообщить API для создания таблицы соединений? Спасибо
uhm .. право, я понял, что у меня могут возникнуть проблемы, но как я могу решить проблему по-другому? Я думал, что таблица соединений была лучшим вариантом – Davide
ps. я далеко, чтобы быть dba, но если я не ошибаюсь, по моему сценарию, я не хочу включать каскад delete – Davide
Извините, не пытался запутать или разглагольствовать. Я был сожжен в этом вопросе, и потребуется некоторое время, чтобы собрать много таблиц и много отношений. Конечно, если не использовать каскад при удалении все хорошо: -D –