实体框架中的数据库加入
问题描述:
我是ASP.NET MVC 3中的新成员,并且正在Internet上进行搜索,但我没有发现任何关于如何使用ASP.NET MVC 3中的加入。例如,在我的社交网络项目中,我想通过评论获得所有帖子。我正在使用:实体框架中的数据库加入
var myobj = DB.Comments.Include("Post").ToList();
但是这只显示那些有评论的帖子。我想显示所有帖子,然后显示各自的评论。
我曾问过类似的问题,人们回答说,使用
var myobj = DB.Post.Include("Comments").ToList();
但是,这是错误的。我对数据库的了解是说一个帖子有评论,而不是评论有帖子。简单评论有一个来自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查询还是有其他方法?
这与MVC无关...... – 2012-02-02 20:45:04
因为您已将ASP.NET/MVC(Web前端API)与实体框架(启用LINQ提供程序的ORM)相混淆,因此您找不到任何东西 – 2012-02-02 20:45:34
然后先生如何解决这种善意帮助我 – 2012-02-02 21:06:15