【问题标题】:ASP.NET forum app: obtaining the answer with most likesASP.NET 论坛应用:获得点赞最多的答案
【发布时间】:2021-03-24 15:04:28
【问题描述】:

我们正在构建一个论坛类型的网络应用程序,并且我们正在努力使最喜欢(和最不喜欢)的答案看起来不同。 Answer 实体有一个 Reactions 属性(反应列表),包括喜欢和不喜欢(用布尔属性区分,true 表示喜欢,false 表示不喜欢)。有没有办法直接通过LINQ查询获得最喜欢的答案和最不喜欢的答案?还是我们必须制定一个解决它的方法?

编辑:我只有一个代表喜欢和不喜欢的实体“反应”。它们两者之间的唯一区别是布尔属性设置为 true 表示喜欢,false 表示不喜欢

谢谢!

【问题讨论】:

  • 欢迎使用 StakOverflow!,您能否提供数据结构在您记录的类似和不同的地方的样子?
  • 请编辑您的问题,并添加您的DbSet<...> 的相关部分:显然您有AnswersLikesDisLikes。它们之间有什么关系?一个答案是否有包含喜欢/不喜欢数量的列?喜欢/不喜欢是否在单独的表格中。是否存在一对多关系:每个答案都有零个或多个 Likes-with-cmets?或多对多,如:许多答案有许多反应堆,其中一个喜欢或不喜欢>

标签: asp.net .net entity-framework linq


【解决方案1】:

编辑:根据 Sajid 的评论,简化了查询:

当然:

reactions.Where(liked => Liked.IsLike && (liked.id = 123)).Count()

甚至

reactions.Count(liked => liked.IsLike && liked.id == 123)

【讨论】:

  • 您可以将查询简化为:reactions.Count(liked => liked.IsLike && liked.id == 123) 或不使用ToList()reactions.Where(liked => liked.IsLike && liked.id == 123).Count()
  • @Sajid 你是对的,相应地编辑了我的答案。我对 .NET 有一段时间没有使用它感到生疏了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-29
  • 1970-01-01
  • 2012-04-25
  • 2023-04-04
相关资源
最近更新 更多