我有一個模型有兩個字段有一個外鍵連接到不同的表。他們有不同的名字,我無法弄清楚如何讓這種關係發揮作用。MVC 4外鍵屬性
這是我的兩個對象。 Visitor
和Home Teams
是我在設置關係時遇到的問題。
我得到的錯誤是:
「無法檢索「Models.Game的元數據的 ForeignKeyAttribute財產VisitorID上鍵入‘Models.Game’不是 有效的導航。屬性'Team'在依賴 類型'Models.Game'上找不到。名稱值應該是有效的導航屬性 name。「
public class Team
{
public Int64 TeamID { get; set; }
[Required(ErrorMessage = "{0} is required")]
[Display(Name = "Team Name")]
public string Name { get; set; }
[Required(ErrorMessage = "{0} is required")]
[Display(Name = "League Name")]
[ForeignKey("League")]
public Int64 LeagueID { get; set; }
public virtual League League { get; set; }
}
public class Game
{
public Int64 GameID { get; set; }
[Required(ErrorMessage = "{0} is required")]
[Display(Name = "Season Name")]
[ForeignKey("Season")]
public Int64 SeasonID { get; set; }
public virtual Season Season { get; set; }
[Required(ErrorMessage = "{0} is required")]
[DataType(DataType.DateTime)]
[Display(Name = "Game Time")]
public DateTime Time { get; set; }
[Required(ErrorMessage = "{0} is required")]
[Display(Name = "Visitor Team")]
[ForeignKey("Team")]
public Int64 VisitorID { get; set; }
public virtual Team Visitor { get; set; }
[Required(ErrorMessage = "{0} is required")]
[Display(Name = "Home Team")]
[ForeignKey("Team")]
public Int64 HomeID { get; set; }
public virtual Team Home { get; set; }
[Required(ErrorMessage = "{0} is required")]
[Display(Name = "Rink")]
[ForeignKey("Location")]
public Int64 LocationID { get; set; }
public virtual Location Location { get; set; }
public virtual List<GameEvent> GameEvents { get; set; }
}
什麼是錯誤? &爲什麼你的主鍵是32位整數和64位的混合? – BenjaminPaul
如果您刪除所有不需要的額外代碼和數據註釋將會很有幫助,因此我們更容易閱讀(比如'required'和'display') –