C# Linq - odwrotna kolejność obiektów

C# Linq - odwrotna kolejność obiektów
K9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 28
0

Odczytuję sobie użytkownika z bazy danych wraz z tabelą "cardWords" (relacja jeden do wielu z użytkownikiem) i tabelą words (relacja jeden do wielu z cardwords). Problem polega na tym że obiekty cardWords odczytywane są w odwrotnej kolejności (np najpierw wczytuje obiekt o id 8, potem 7 itd.). Jeżeli w Include zostawię tylko c => c.cardwords bez odczytywania obiektów words to wtedy odczytuję w poprawnej kolejności - takiej jakiej zostały dodane do bazy danych. W jaki sposób mogę zachować tę kolejność wczytując również dane z tabeli words?

Kopiuj
using (ApplicationDbContext appContext = new ApplicationDbContext())
                {
                   
                    var userId = User.Identity.GetUserId();
                    user1 = appContext.Users.Where(x => x.Id == userId )
                                                .Include(c => c.cardWords.Select(w => w.words))
                                                .FirstOrDefault();
                    
                    
                }
mad_penguin
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Rzeszów
2

Użyj OrderBy do posortowania.

AF
  • Rejestracja: dni
  • Ostatnio: dni
3

Tak tylko dodam, ze bez OrderBy nie masz żadnej gwarancji kolejności, a praktycznie w MS SQL (i innych bazach raczej też) masz gwarancję, że prędzej lub później kolejność będzie inna od „oczekiwanej”.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.