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 

내가 수를 null 참조 에러. 난 당신과 같이 외래 키를 포함하도록 저장소에 포함 속성을 사용할 수 있습니다 이해 :

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

그러나 그 불가능을 내 컨트롤러에서이 작업을 수행하기 위해 나는 일련의 모델에서 보내고있다. 내보기에 댓글을 게시 한 사용자를 어떻게 표시합니까?

+0

아마도이 댓글에 할당 된 사용자가 없습니다. Check DB –

+0

그러나 그럴 수는 없습니다 ._ 누출 된 추상화를 만들었으나 변경을 원하지 않지만 도움을 청합니다. – Eranga

+0

ViewBag을 사용하고 getCommentsForSeries 메소드에서 User 외래 키를 포함하여 해결했습니다. – oivindth

답변

0

Entity Framework를 사용하고있는 것 같습니다. 실제 쿼리를 실행할 때 외래 키 종속 객체를 포함해야합니다. 보기에서이를 수행 할 때 너무 늦었을 때 외부 키 관계를로드하지 않고 조회가 이미 리턴되었습니다.