Как получить Row_Number с разделом в Linq для объекта

Я хочу получить номер строки для каждой группы.

Я нашел статью, но не работает в 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 для объекта отображается ниже error 'NotSupportedException'

Не могли бы вы дать мне какую-либо идею, чтобы я мог получить номер строки для каждой группы?

И у меня есть другой вопрос. Наша таблица имеет 25000000 записей. Мне нужно сделать некоторую группу и использовать функцию агрегата. Но запрос очень медленный. У меня есть хороший запрос?

c#,sql-server,linq-to-entities,

0

Ответов: 1


0

Вы можете обработать группу на сервере, а затем добавить номер строки на стороне клиента:

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();
C #, SQL-сервер, LINQ к лицам,
Похожие вопросы
Яндекс.Метрика