簡體   English   中英

將此 LINQ 表達式轉換為 SQL 服務器查詢

[英]Transform this LINQ expression to SQL server query

我在實體框架中使用 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 服務器查詢在數據庫中創建一個視圖,我嘗試使用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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM