我有一个应用程序,我有一个aspnet_Users
表存储我的用户,一个FriendMapping
表,包含所有用户的朋友(朋友被定义为网站上的其他用户),最后我有一个Posts
表,用于保存用户编写的帖子。
我正在尝试制作一个linq查询以获取所有用户的朋友的帖子:
public static IQueryable<FriendMapping>(this MyEntites context, Guid userId){
return (from friendMapping in context.FriendMapping
.Include('aspnet_Users.Posts')
select friendMapping).Where(x=>x.UserId == userId);
}
这会返回所有用户的朋友并包含他们的帖子。我该怎么做才能得到我所有朋友的帖子和OrderByDate的列表。我还想使用.Take()
和.Skip()
来获取结果。有人有什么想法吗?
如果我遍历结果并编译了一个列表,那么该查询是否必须先执行才能导致不必要的数据检索?也许是一种方法,我可以避免在从那里构建帖子列表和订单/过滤器之后使用foreach
循环