我已经在 EF 中看到了使用代码优先的多对多关系的几个示例,但我遇到了一种我不知道如何解决的情况。
我试图模拟这种情况
实体是客户、客人、活动 1。)客户注册活动 2。)每个客户都有客人可以带到他注册的活动中(例如,如果他已注册活动 1 并且数量为 3,他可以分配 2客人)
我使用一个简单的场景进行了尝试,在该场景中,我建立了多对多关系 b/w 客人和活动,它工作正常,我可以使用 events.guests 导航属性将客人添加到活动中
但是我需要让它与客户一起工作,我很难把我的头包起来,客户在哪里适合这个模型?
public class Guest
{
public int GuestId { get; set; }
public string GuestName { get; set; }
public virtual ICollection<Event> Events { get; set; }
}
public class Event
{
public int EventId { get; set; }
public string EventName { get; set; }
public virtual ICollection<Guest> Guests { get; set; }
}
这会生成一个映射表 GuestEvent,其中包含 GuestId、EventId
据我了解,添加了客户实体 customerId、EventId、GuestId 的映射表应该看起来像这样,但我该如何设置呢?