Сначала я делаю учебник по MVC3 с кодом. В основном у меня есть 3 таблицы, сообщения, комментарии и блоги
public class Blog
{
public int ID { get; set; }
public string Title { get; set; }
public string BloggerName { get; set; }
public virtual ICollection<Post> Posts { get; set; }
}
public class Comment
{
public int ID { get; set; }
public DateTime DateCreated { get; set; }
public string Content { get; set; }
public int PostID { get; set; }
public Post Post { get; set; }
}
public class Post
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime DateCreated { get; set; }
public string Content { get; set; }
public int BlogID { get; set; }
public ICollection<Comment> Comments { get; set; }
}
И я хочу отобразить сообщение на странице сообщения, в котором есть идентификатор блога. Итак, в моем контроллере на данный момент у меня есть следующее: -
public ViewResult Index()
{
PostViewModel model = new PostViewModel();
model.Posts = db.Posts.ToList();
foreach (var item in model.Posts)
{
model.Blog = db.Blogs.Where(b => b.ID == item.BlogID).FirstOrDefault();
}
return View(model);
}
с представлением, имеющим следующее: -
@foreach (var item in Model.Posts) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Title)
</td>
<td>
@Html.DisplayFor(modelItem => item.DateCreated)
</td>
<td>
@Html.DisplayFor(modelItem => item.Content)
</td>
<td>
@Html.DisplayFor(modelItem => modelItem.Blog.Title)
</td>
</tr>
}
Что я хочу знать, так это как получить заголовок блога из сообщений. Чем мне заменить это на: -
foreach (var item in model.Posts)
{
model.Blog = db.Blogs.Where(b => b.ID == item.BlogID).FirstOrDefault();
}
чтобы он работал?
Спасибо за вашу помощь и время