我正在为我的乐团规划工具开发一个实体关系数据模型。最终结果应该是一个 ASP.NET/MVC4 应用程序。
这是我的 E/R 图的一部分:
Event
在上图中,我试图想象 a和 a之间存在多对多的关系Composition
。在我的模型中,我还希望能够存储Composition
任意的录音Event
(可能有来自不同事件/协奏曲的相同作品的许多不同录音版本)。
这是我到目前为止所做的(使用我的代码优先数据模型的相关代码):
public class Composition
{
public Composition()
{
Instruments = new Collection<Instrument>();
Events = new Collection<Event>();
}
[Key]
public int Id { get; set; }
public bool Active { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public TimeSpan Durata { get; set; }
public virtual Composer Composer { get; set; }
public virtual Composer Genre { get; set; }
public virtual ICollection<Instrument> Instruments { get; set; }
public virtual ICollection<Event> Events { get; set; }
}
_
public class Event
{
public Event()
{
Compositions = new Collection<Composition>();
Members = new Collection<Member>();
}
[Key]
public int Id { get; set; }
public bool Active { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public virtual ICollection<Member> Members { get; set; }
public virtual ICollection<Composition> Compositions { get; set; }
public virtual Calendar Calendar { get; set; }
public virtual EventType EventType { get; set; }
public virtual Location Location { get; set; }
}
我的问题:在我的代码中,我应该在哪里添加关系属性“Recording”?
编辑:我必须创建一个链接表还是有更好的选择?