用户按照查询获取正在关注的每个用户的第一个帖子

时间:2016-07-27 19:43:29

标签: entity-framework linq linq-to-sql entity-framework-6

我构建了一个用户跟踪机制。

我有一个帖子表:

  • id(int)
  • post(varchar)
  • when(DateTime)

用户表

  • ID
  • 名称

以下表格:

  • id(int)
  • user_id(int)
  • follow_user_id(int)

我想基于日期(降序)向用户呈现每个用户的前第一篇帖子,并且查询应该产生一个列表,该列表包含基于用户Id参数的一对帖子/用户。用户ID是' user_id'在表格'关注',因此我可以在表格中显示特定' user_id'的用户数据。跟随器。

因此,如果用户关注50个用户,并且所有这些用户都有很多帖子,则会为每个用户返回1个最新帖子,因此查询将返回50个与帖子和用户数据配对的结果。

我需要在Linq或Entity Framework中对其进行优化查询。

使用ASP.NET 4.5 / C#/ Entity Framework 6 / Visual Studio 2015

1 个答案:

答案 0 :(得分:0)

select top(1) post
from posts P
join 3rdTABLE T on P.ID= T.ID
where T.user_id='123456'        
order by when DESC

在上面你可以传递@User_ID作为参数或声明@User_ID BIGINT并更改

  **where T.user_id='123456'**

  **where T.user_id=@user_id**