ho due tabelle:Come posso ordinare gli oggetti restituiti da EF in base a un elenco di ID?
User {
PK: UserId
...
}
Product {
PK: ProductId,
FK: UserId
...
}
Ho una lista di ProductId
s in formato casuale. Non voglio ordinare il risultato di output e vorrei includere anche i dati dell'utente per ogni ID prodotto.
Il codice seguente fornisce i dati in formato ordinato. Come posso evitare questo ordinamento? Voglio che l'elenco degli oggetti sia nello stesso ordine del nostro elenco di prodotti.
List<Tables.Product> tblProductList =
repo.Products
.Include("User")
.Where(x => productIdList.Contains(x.ProductId))
.ToList();
Non esiste una cosa come impostazione predefinita l'ordinamento . A meno che non si specifichi una clausola OrderBy, il database restituirà oggetti senza ordinare. Possono * apparire * ordinati perché alcune operazioni (ad esempio Distinte) utilizzano Ordina. Anche questi non saranno ordinati se la query è abbastanza costosa da essere parallelizzata –
Che cos'è 'productIdList'? Qualcosa caricato da un'altra tabella o solo una lista di ID? –
productIdList contiene un elenco di ID interi. –