【高分悬赏】ef 一对多查询问题

wilson2017 2020-06-03 11:18:13
数据结构:

帖子表: Posts
id,
title,
addtime,
memberid,
modifytime


帖子评论表: PostsComment

id,
postid,
parentid,
content


查询的时候碰到一个问题,当前有个页面用于渲染帖子列表的页面,想要实现的是帖子的排序是根据每条帖子的最新回复时间来做排序,这样的 linq 应该怎么写了?

比如 a 帖子 有10条评论, b 帖子有 20 条评论, 但 b 帖子下的评论数量中最新评论的时间是最近时间的一条, a 帖子则都是很久以前的评论,按这样规则, b帖子就排在 a 帖前面了
...全文
150 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
那你得在帖子表里面加字段呀:List< PostsComment> list 加评论表得字段
Dear200892 2020-06-04
  • 打赏
  • 举报
回复
PostsComment表都没有时间字段
wilson2017 2020-06-03
  • 打赏
  • 举报
回复
var data = (from a in _posts.LoadEntities(a => true) join r in _cooments.LoadEntities(r => true) on a.Id equals r.postid orderby r.addtime descending select a).ToList(); 这样查出来 帖子很多是重复的, 求解
杀马特丶蛮牛 2020-06-03
  • 打赏
  • 举报
回复
有啥问题吗?你本来就 想实现的是帖子的排序是根据每条帖子的最新回复时间来做排序 ,b的评论时间是最新的,b排a前面,对的呀
  • 打赏
  • 举报
回复
看连接条件postid,应该不是唯一主键,所以有可能出现多条数据 1,是否有垃圾数据(人为测试录入) 就是帖子评论表的id不同,但是postid相同或者content内容相同。 2,子评论表的parentid是什么 加上parentid后是否可以出现唯一数据
正怒月神 版主 2020-06-03
  • 打赏
  • 举报
回复
dintinct就好了啊。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧