テニストーナメントのさまざまなイベントへのエントリーを記録するアプリがあります。また、各イベントの勝者が誰であったかを記録します
問題の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列はnull可能であることに注意してください。
ここで、問題は、Update-Databaseコマンドを実行すると、次のテーブルが生成されることです。
Entry
- EntryId
- EventId
- Event_EventId
Event
- EventId
- WinningEntryId
EFがイベントテーブルにEvent_EventId列を生成するのはなぜですか?Event.WinningEntryId列が外部キー関係のEntry.EntryId列を指すようにしたいだけです。
私はどういうわけかこれを間違っているに違いありません。誰かが私がこれを達成する方法を知っていますか?