我是ASP.NET MVC 3的新手,我正在网上搜索,但我没有发现如何使用加入ASP.NET MVC 3 。例如,在我的社交网络项目中,我希望获得所有评论的帖子。我正在使用:
var myobj = DB.Comments.Include("Post").ToList();
但这只显示那些有评论的帖子。我想显示所有帖子,然后显示各自的评论。
我问了一个类似的问题,人们回复说使用
var myobj = DB.Post.Include("Comments").ToList();
但那是错的。我对数据库的了解是说帖子有评论,而不是评论有帖子。简单的COMMENT有一个来自POST的外键。
如何在简单的数据库查询或方法中解决此问题?
var myobj = from u in DB.Posts
join b in DB.Comments
on u.UserID equals b.UserID
into obj
from ua in obj.DefaultIfEmpty()
select new { userComments = (ua == null) ? "" : ua.UserComments, UserPosts = u.UserPosts };
return view(myobj.ToList());
如果我使用上面的内容,那么我无法将其传递给视图,因为它是一个SQL查询,and
视图需要一个模型,无论如何。两种情况下的完整解决方案是什么,即使用SQL查询还是有其他方法吗?