【发布时间】:2012-01-26 13:04:38
【问题描述】:
我正在做一个关于 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; }
}
我想在具有 BlogID 的帖子页面中显示帖子。所以目前在我的控制器中,我有以下内容:-
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();
}
让它工作?
感谢您的帮助和时间
【问题讨论】:
标签: c# asp.net-mvc asp.net-mvc-3 razor linq-to-entities