Ich habe zwei Tabellen:Wie kann ich Objekte, die von EF zurückgegeben werden, nach einer ID-Liste sortieren?
User {
PK: UserId
...
}
Product {
PK: ProductId,
FK: UserId
...
}
ich eine Liste von ProductId
s in zufälligem Format habe. Ich möchte das Ausgabeergebnis nicht sortieren und möchte auch Benutzerdaten für jede Produkt-ID hinzufügen.
Der folgende Code enthält die Daten im sortierten Format. Wie kann ich diese Sortierung vermeiden? Ich möchte, dass die Liste der Objekte in der gleichen Reihenfolge wie unsere Produktliste ist.
List<Tables.Product> tblProductList =
repo.Products
.Include("User")
.Where(x => productIdList.Contains(x.ProductId))
.ToList();
Es gibt nicht so etwas wie Standardsortierung . Wenn Sie keine OrderBy-Klausel angeben, gibt die Datenbank Objekte ohne Reihenfolge zurück. Sie * mögen * geordnet erscheinen, weil einige Operationen (zB Eindeutig) Sort verwenden. Selbst wenn die Abfrage teuer genug ist, um parallelisiert zu werden, werden auch diese ungeordnet sein. –
Was ist 'productIdList'? Etwas von einer anderen Tabelle geladen oder nur eine Liste von IDs? –
productIdList enthält eine Liste von Ganzzahl-IDs. –