Mam dwie tabele:Jak mogę sortować obiekty zwrócone przez EF zgodnie z listą identyfikatorów?
User {
PK: UserId
...
}
Product {
PK: ProductId,
FK: UserId
...
}
Mam listę ProductId
S w formacie losowej. Nie chcę sortować wyniku wyjściowego i chciałbym uwzględnić dane użytkownika również dla każdego identyfikatora produktu.
Poniższy kod dostarcza dane w posortowanym formacie. Jak mogę uniknąć tego sortowania? Chcę, aby lista obiektów była w tej samej kolejności, co nasza lista produktów.
List<Tables.Product> tblProductList =
repo.Products
.Include("User")
.Where(x => productIdList.Contains(x.ProductId))
.ToList();
Nie ma czegoś takiego jak domyślne sortowanie . Dopóki nie określisz klauzuli OrderBy, baza danych zwróci obiekty bez zamawiania. * Mogą * pojawić się uporządkowane, ponieważ niektóre operacje (np. Różne) używają Sortuj. Nawet te będą nieuporządkowane, jeśli zapytanie jest wystarczająco drogie, aby je zrównoważyć. –
Co to jest "productIdList"? Coś załadowano z innego stołu lub tylko listę identyfikatorów? –
productIdList zawiera listę identyfikatorów całkowitych. –