Linq do SQL używa ROW_NUMBER()
do celów przywoławczych, tj. Gdy używasz Pomiń() i Take().Jak znaleźć ROW_NUMBER() wiersza z Linq do SQL
Jednak nie mogę znaleźć sposobu na rzeczywisty dostęp do wartości ROW_NUMBER()
w zapytaniu. Muszę znaleźć ROW_NUMBER() rekordu w zapytaniu (bez przywracania wszystkich rekordów).
Zrobiłem to z powodzeniem w T-SQL i Linq to Objects, ale rozwiązanie Linq to SQL okazuje się nieuchwytne.
w LINQ to Objects mogę uzyskać numer wiersza takiego:
Ale LINQ to SQL nie obsługuje przesłonięcia z Select()
które używają parametru indeksu (i to ma sens, naprawdę - ROW_NUMBER()
byłoby należy używać tylko wtedy, gdy używane są Skip() i Take().
Nie mogę znaleźć rozwiązania, które nie spowoduje, że wszystkie rekordy zostaną zwrócone z bazy danych.
Czy to możliwe?
http://stackoverflow.com/questions/1165028/how-do-i-add-rownumber-to-a-linq-query-or-entity duplikat? –
@bassfriend - EF i LINQ-SQL mają zupełnie inne wsparcie dla takich operacji ... –
Miałem nadzieję, że zobaczę odpowiedź tutaj. Występuje ten sam problem - indeksowane przeciążenie nie działa w/L2S. Byłbym szczęśliwy z każdym przyrostowym ID; zgaduję, że będę musiał to zrobić w wielu krokach. –