Я только начал понимать Entity Framework и у меня не было проблем с отображением простых сущностей в их отдельные таблицы, но теперь я столкнулся с более продвинутым сценарием, который поставил меня в тупик.
У меня есть следующие POCO
public class Group
{
public int GroupId {get; set;}
public string GroupName {get; set;}
public virtual ICollection<EventTypePreference> Preferences {get; set;}
}
public class EventType
{
public int EventTypeId {get; set;}
public string EventTypeName {get; set;}
public string EventColor {get; set;}
}
public class EventTypePreference
{
public int GroupId {get; set;}
public int EventTypeId {get; set;}
public virtual Group Group {get; set;}
public virtual EventType EventType {get; set;}
public int EventLength {get; set;}
}
В моей модели у Группы будет много EventTypePreferences (одна запись предпочтения для каждого EventType).EventTypePreferences - это таблица в базе данных с теми же совпадающими столбцами, что и соответствующий ей POCO.Кроме того, в базе данных таблица EventTypePreference использует составной первичный ключ, основанный на GroupId и EventTypeId.
Так, скажем, в таблице Group есть следующие строки (GroupId, GroupName) ...
1, Human Resources
2, Purchasing
3, Information Services
И таблица EventType имеет следующие строки (EventTypeId, EventTypeName, EventColor) ...
1, Training Event, Blue
2, Sales Seminar, Red
3, Office Party, Yellow
Значения EventTypePreferences будут иметь вид (EventTypeId, GroupId, EventLength) ...
1, 1, 60
1, 2, 45
1, 3, 60
2, 1, 120
.........
Моя проблема в том, что я изо всех сил пытаюсь выяснить, как свободно настроить эти отношения, особенно для моей сущности EventTypePreference.Я вижу это, поскольку есть много групп и типов событий в этой сущности.Может ли кто-нибудь помочь пролить свет на это для меня?