В настоящее время я сталкиваюсь с проблемой, когда у меня есть единая сущность (Исполнитель), которая может быть либо «хедлайнером», либо «актом поддержки» для данного события в многопользовательском - много отношений.EF Отношение «многие ко многим» с такими же объектами
экстремально упрощенная версия этих таблиц:
+----------------+ +----------------+
| Artist | | Event |
+----------------+ +----------------+
| ArtistId | | EventId |
| ExternalId | | Name |
| Name | | |
+----------------+ +----------------+
В качестве промежуточного решения я представила две дополнительные объекты для удовлетворения этих требований.
+----------------+ +----------------+
| Headliner | | SupportAct |
+----------------+ +----------------+
| ArtistId | | ArtistId |
| EventId | | EventId |
+----------------+ +----------------+
И ввел следующий код в объекте Event
private ICollection<Headliner> _headliners;
public virtual ICollection<Headliner> Headliners
{
get { return _headliners ?? (_headliners = new Collection<Headliner>()); }
protected set { _headliners = value; }
}
private ICollection<SupportAct> _supportActs;
public virtual ICollection<SupportAct> SupportActs
{
get { return _supportActs ?? (_supportActs = new Collection<SupportAct>()); }
protected set { _supportActs = value; }
}
То, что я пытаюсь выполнить более оптимизированное решение, которое будет выглядеть как вы найдете ниже.
И где код будет сведен к тому, что вы найдете ниже. Но это не допускается ....
private ICollection<Artist> _headliners;
public virtual ICollection<Artist> Headliners
{
get { return _headliners ?? (_headliners = new Collection<Artist>()); }
protected set { _headliners = value; }
}
private ICollection<Artist> _supportActs;
public virtual ICollection<Artist> SupportActs
{
get { return _supportActs ?? (_supportActs = new Collection<Artist>()); }
protected set { _supportActs = value; }
}
описал нечто вроде выше представляется возможным, поскольку это дало бы мне прямой доступ к художнику сущностями?
почему вы не можете достичь его, используя только 1 распределительную таблицу? – Sampath