gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-05 04:33:51 56 4
gpt4 key购买 nike

这是我的第一个问题。对于一项学校作业,我正在使用 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/

56 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com