我有一个应用程序可以记录网球比赛的不同事件。它还记录了每个事件的获胜者
有问题的2类是:
public class Event {
public int EventId { get; set; }
public string EventName { get; set; }
public virtual ICollection<Entry> Entries { get; set; }
public int? WinningEntryId { get; set; }
[ForeignKey("WinningEntryId")]
public virtual Entry WinningEntry { get; set; }
}
public class Entry {
public int EntryId { get; set; }
public int EventId { get; set; }
[ForeignKey("EventId")]
public virtual Event Event { get; set; }
}
请注意,Event.WinningEntryId 列可以为空,因为我不想指定获胜者,因为锦标赛可能仍在进行中。
现在,问题是当我运行 Update-Database 命令时,它会生成以下表格:
Entry
- EntryId
- EventId
- Event_EventId
Event
- EventId
- WinningEntryId
为什么 EF 在 Event 表中生成 Event_EventId 列?我只是希望 Event.WinningEntryId 列指向外键关系中的 Entry.EntryId 列。
我一定是在某种程度上做错了。有谁知道我怎么能做到这一点?