使用PostgreSQL在LINQ C#上按列获取最后一行分组

时间:2018-05-28 17:51:25

标签: c# postgresql entity-framework linq

我希望根据 date_event 获取每个 id_category 的最后一行。我有一个SQL查询:

SELECT * FROM log t1
JOIN 
(
   SELECT id_category, MAX(date_event) AS MAXDATE
   FROM log
   GROUP BY id_category
) t2
ON t1.id_category = t2.id_category
AND t1.date_event = t2.MAXDATE

我想把它“翻译”成LINQ(使用Entity Framework 6)。这是我到目前为止所尝试的:

db.log
  .GroupBy(m => m.id_category)
  .Select(g => g.OrderByDescending(m => m.date_event).FirstOrDefault());

但是,PostgreSQL会返回:

  

PostgresException:42601:“SELECT”

处或附近的语法错误

任何建议都会有所帮助。

0 个答案:

没有答案