[英]How to get Row_Number with partition by in Linq to entity
我想獲取每個組的行號。
我找到了一些文章,但在EF linq中不起作用。 在此處輸入圖片說明
var aa = entity.PackOrderMedicineHistory.GroupBy(x => x.MedicineID)
.Select(g => new { Group = g, count = g.Count()})
.SelectMany(e => e.Group.Select(v => v)
.Zip(Enumerable.Range(1, e.count), (i, j) => new {i.MedicineID, rn = j})).Dump();
這是網上的文章。 但是Linq to實體顯示以下錯誤'NotSupportedException'
你能給我什么主意嗎,以便我能得到每組的行號?
我還有另一個問題。 我們的某個表有2500萬條記錄。 我需要進行一些分組並使用聚合函數。 但是查詢非常慢..我有很好的查詢嗎?
您可以在服務器上處理分組依據,然后在客戶端添加行號:
var aa = entity.PackOrderMedicineHistory.GroupBy(x => x.MedicineID)
.Select(g => new { Group = g, count = g.Count()})
.SelectMany(e => e.Group.Select((v, rn) => new { v.MedicineID, rn })).Dump();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.