0

我有一個視圖,我想顯示一本書的評論。 我渲染視圖,我表示這樣一本書:asp.net中的外鍵mvc

public ActionResult Show(int id) 
    { 
     var model = _repository.GetSeriesById(id); 
     return View(model); 
    } 

在查看我展示利用該模型的意見。 (系列有評論和評論有一個用戶ID)。

@model Models.Series @{ 

var comments = Model.Comments.ToList(); 

}

然後我可以遍歷要顯示的評論信息等

@foreach(var comment in comments) 
    { 

    @comment.Created 
    @comment.Message 

    } 

我的問題是,當我嘗試這樣做:

@comment.User.id 

我得到一個空引用錯誤。我知道你可以使用包含屬性的資源庫,包括這樣的外鍵:

var comments = _db.Comments.Include("User").Where(sId => sId.Id == seriesId).ToList(); 

但它不可能做到這一點在我的控制器,因爲我在一個系列機型要打發。 那麼如何顯示在我的視圖中發佈評論的用戶?

+0

也許您沒有用戶分配此評論?檢查數據庫 – 2012-07-16 07:47:00

+0

_但不可能.._你創建了一個漏洞抽象,你不想改變它,但你尋求幫助。 – Eranga 2012-07-16 08:37:55

+0

我通過使用Viewbag解決了它,並在getCommentsForSeries方法中包含了用戶外鍵。 – oivindth 2012-07-16 08:40:58

回答

0

它看起來像你使用實體框架?運行實際查詢時,應該包含您的外鍵相關對象。當你在視圖中執行它時已經太晚了,查詢已經返回而沒有加載外鍵關係。