Sono stumped da questo facile problema di dati.Come aggiungere ROW_NUMBER a una query LINQ o Entity?
Sto utilizzando il framework Entity e un database di prodotti. La mia pagina dei risultati restituisce un elenco impaginato di questi prodotti. In questo momento i miei risultati sono ordinati per il numero di vendite di ogni prodotto, quindi il mio codice simile a questo:
return Products.OrderByDescending(u => u.Sales.Count());
Ciò restituisce un set di dati IQueryable dei miei soggetti, in ordine di numero di vendite.
Desidero che la pagina dei risultati mostri il rango di ciascun prodotto (nel set di dati). I miei risultati dovrebbe essere simile a questo:
Page #1
1. Bananas
2. Apples
3. Coffee
Page #2
4. Cookies
5. Ice Cream
6. Lettuce
mi aspetto che voglio solo aggiungere una colonna nei miei risultati utilizzando la variabile SQL ROW_NUMBER ... ma non so come aggiungere questa colonna alla mia risultati datatable.
La mia pagina risultante contiene un ciclo foreach, ma dal momento che sto usando un set impaginato, suppongo che l'utilizzo di quel numero per falsificare un numero di classifica NON sarebbe l'approccio migliore.
Quindi la mia domanda è: come posso aggiungere una colonna ROW_NUMBER ai risultati della mia query in questo caso?
Haha. Sono stato in grado di implementarlo a mano ma funziona. –
Non so se questo è importante, ma questo sarà difficile da aggirare, perché è un oggetto anonimo. –
Non è necessario utilizzare un tipo anonimo. Crea un tipo non anonimo e usalo se necessario. È solo un esempio –