0

本のコメントを表示したいビューがあります。次のように本を表示するビューをレンダリングします。

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

null 参照エラーが発生します。リポジトリで include 属性を使用して、次のように外部キーを含めることができることを理解しています。

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

しかし、シリーズモデルを送信しているため、コントローラーでこれを行うことはできません。では、コメントを投稿したユーザーを自分のビューに表示するにはどうすればよいでしょうか?

4

1 に答える 1

0

Entity Framework を使用しているように見えますか? 実際のクエリを実行するときは、外部キー依存オブジェクトを含める必要があります。ビューでそれを行うと手遅れです。クエリは外部キー関係をロードせずに既に返されています。

于 2012-07-16T13:51:44.430 に答える