標籤:des style blog http io ar color sp on
晚上學習MVC時遇到的問題。
第一步:添加實體類。
/// <summary> /// 專輯 /// </summary> public class Album { public virtual int AlbumId { get; set; } public virtual int GenerId { get; set; } public virtual int ArtistId { get; set; } public virtual string Title { get; set; } public virtual decimal Price { get; set; } public virtual string AlbumArtUrl { get; set; } public virtual Genre Genre { get; set; } public virtual Artist Artist { get; set; } } /// <summary> /// 藝術家 /// </summary> public class Artist { public virtual int ArtistId { get; set; } public virtual string Name { get; set; } } /// <summary> /// 流派 /// </summary> public class Genre { public virtual int GenreId { get; set; } public virtual string Name { get; set; } public virtual string Description { get; set; } public virtual List<Album> Albums { get; set; } }
第二步:添加控制器。
第三步:查看資料庫上下文。
問題來了,明明是三個實體類(外部索引鍵關聯),為什麼只產生了兩個屬性。
查看了三遍後,發現問題。Album 中的欄位GenerId 和Genre類中的GenreId不匹配。
於是乎,發現EF對於外鍵關係和資料庫名稱都有約定。而在MVC開發中,這種約定無處不在,值得注意。
MVC4-Code First