将此 LINQ 表达式转换为 SQL 服务器查询



我在实体框架中使用 LINQ 方法编写了此查询:

var items = db.Items.ToList();
var unique_items = items.OrderBy(c => c.date)
              .GroupBy(c => c.title)
              .Select(group => group.First()).ToList();

项目返回以下内容,例如:

id   title  date
-----------------------
 1   car1   02-05-2019
 2   car2   02-06-2019
 3   car2   02-07-2019
 4   car4   02-05-2019
 5   car1   02-04-2019

unique_items应该返回以下内容:

1   car1   25-10-2019
3   car2   25-10-2019
4   car4   25-12-2019

我只想要独特的标题。

我现在想使用 SQL Server 查询在数据库中创建一个视图,我尝试使用 Group ByDistinct 但我无法做到这一点,因为用途与 LINQ 查询不同,有人可以帮忙吗?

类似于以下内容,但我只想使用 EF6 的日志记录来捕获查询并按原样使用它:

SELECT id, title, date
FROM (
  SELECT id,title,date, ROW_NUMBER() OVER (PARTITION BY title ORDER BY date) AS rn 
  FROM Items
) t1 
WHERE t1.rn=1
ORDER BY date

最新更新