c# - 使用 ROW_NUMBER() 和 PARTITION BY 的复杂 LINQ 查询的解决方案

标签 c# asp.net asp.net-mvc postgresql asp.net-core

这是我的第一个问题。对于一项学校作业,我正在使用 Rider 在 ASP.net MVC 中编写程序。这将是电影网络应用程序。查询得到当前各厅正在播放的节目。因此,对于 6 个大厅,我有 6 个 ID,所有 ID 都应该返回给我:

  • 大厅编号
  • 电影名
  • 演出时间(开始时间)

我构建的代码是这样的,它可以在我的查询控制台中运行:

SELECT "HallId", "Title", "StartAt" 
FROM (SELECT *, ROW_NUMBER() OVER (PARTITION BY "HallId"  ORDER BY "StartAt") rn
      FROM "Showtime" where "StartAt"::time < now()::time) x
JOIN "Movie" M ON "MovieId" = M."Id"
WHERE x.rn = 1
ORDER BY "HallId"

为此我需要一个 LINQ 查询,但我无法让它工作。顺便说一下,我使用 Postgres。这就是为什么“”。 有人能给我答案吗?

最佳答案

你的问题对列名不够清楚,但你可以使用与以下 linq 查询相同的名称

var result = 
(from s in  dbentities.Showtime 
join r in  dbEntities.Movie on s.Mid equals r.Mid
where s.StartAt < DateTime.Now && r.rn == 1).ToList();

关于c# - 使用 ROW_NUMBER() 和 PARTITION BY 的复杂 LINQ 查询的解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71313678/

相关文章:

c# - 用户登录成功后未通过身份验证

asp.net-mvc - 在 ASP.NET MVC 中返回 FileResult 的错误消息/页面

c# - 在哪里放置我的自定义 Html Helpers?

c# - 在 Visual Studios 中更快地处理图形?

C# 控制台应用程序 : Catching Some Cases of White Spaces

c# - 维护 asp.net 页面的状态

javascript - Jquery 在 ASP.net DIV 中不工作只是闪烁并且会卡在它的位置

asp.net - SimpleModal 和 ASP.NET 的基本帮助

c# - 反编译C#时出现"PrivateImplementationDetails"函数

c# - 为 C# MVC ASP.NET 应用程序创建的默认数据库在哪里?