0
當我運行我的代碼優先的MVC應用程序並嘗試訪問DeveloperAccountModel詳細信息頁面或加載父對象和另一個視圖時出現以下錯誤DeveloperAccountModel集合:導航屬性「重定向」不是類型爲'DeveloperAccountModel'的聲明屬性。在這一點上,我沒有訪問屬性(它確實存在!)只是試圖加載DeveloperAccountModel。MVC實體框架中的一對多關係出錯4
[Table("sitedata")]
public class DeveloperAccountModel
{
[Required]
[RegularExpression("^[0-9]*$")]
[Display(Name = "User id")]
[Key]
[Column("_rowid")]
public long RowId { get; internal set; }
// Other properties removed
[Display(Name = "Redirects")]
[NotMapped]
[InverseProperty("DeveloperAccount")]
public List<SiteRedirectModel> Redirects { get; internal set; }
}
再依賴模型
[Table("siteredirects")]
public partial class SiteRedirectModel
{
[Key]
[Column("_rowid")]
[Display(Name = "RowId")]
public int RowId { get; internal set; }
[Column("_siteid")]
[Display(Name = "Developer account id")]
public long DeveloperAccountModelId { get; internal set; }
[NotMapped]
[ForeignKey("DeveloperAccountModelId")]
public virtual DeveloperAccountModel DeveloperAccount { get; internal set; }
}
我已經嘗試了各種教程這麼多的變化和樣本,包括其他時間,其中本或類似的錯誤發生,但我沒有看到很簡單的東西。任何人都可以幫忙嗎?
這已經刪除了錯誤,非常感謝。我沒有在視圖中獲取任何數據,但我已經使用了這個@ Html.DisplayFor(model => model.Redirects.FirstOrDefault()。RowId)是否正確,我需要做些什麼來確保重定向被加載? (這就是爲什麼我刪除虛擬,使其急切加載)。謝謝 – Lukos 2013-04-25 15:38:44
從頭開始!我在控制器中添加了包含(),它都可以工作。 – Lukos 2013-04-25 15:40:17
@Lukos添加'虛擬'關鍵字。或者使用'Include' – Kamyar 2013-04-25 15:41:33