投稿内からコメントの数を数えようとしており(ある種のブログを作成しようとしています)、投稿のタイトルに表示しています。ここにいくつかのコードがあります。
私のモデル:
public class Post
{
public int ID { get; set; }
public string Title { get; set; }
public string Message { get; set; }
public string Author { get; set; }
public DateTime DateTime { get; set; }
public List<Comment> Comments { get; set; }
}
public class Comment
{
public int ID { get; set; }
public int PostID { get; set; }
public string Message { get; set; }
public string Author { get; set; }
public DateTime DateTime { get; set; }
}
私のコントローラー:
public ActionResult Index()
{
var dbPosts = (from p in db.Posts
orderby p.ID descending
select p).ToList();
return View(dbPosts);
}
私の見解:
@foreach (var post in Model) {
**@post.Comments.Where(x => x.PostID == post.ID).Count()**
<h3>@Html.ActionLink(post.Title, "Details", new { id = post.ID })</h3>
<span class="written">skrevet d. @post.DateTime.ToLongDateString() @post.DateTime.ToShortTimeString() af @post.Author</span>
<p>@post.Message</p>
<hr />
}
エラーを星でマークしました。「値を null にすることはできません」というエラーが表示されます。
これを理解するのを手伝ってくれる人はいますか?
よろしくお願いいたします。