Ich habe ein Projekt, das eindeutige Bestellungen aus der Datenbank nachschlägt. Es erstellt dann eine Zeichenfolge von CustomerNumbers aus einem Feld in den zurückgegebenen Bestellungen. Dann filtert er die Bestellungen anhand der CustomerNumbers. Das Problem ist, dass es nur 2 Kunden zurückgibt, wenn es 10 geben sollte. Ich habe eine Zählung aller Kunden zurückgegeben &, die auch nur 2 Kunden zurückgibt. Es gibt insgesamt 667.000 Kunden in der Datenbank. Ich habe versucht, das EF Nuget-Paket & Neuinstallation zu deinstallieren. Ich habe überprüft, ob die Repositories, die ich eingerichtet habe, überhaupt nichts filtern. Ich stecke fest & unter der Waffe rechts. Jede Hilfe wäre großartig. Auch Refactoring-Vorschläge oder EF-Änderungen sind willkommen. Vielen Dank!Entity Framework 6.1.3
var count = dbCustomer.Records.Count();
var orders = dbOrders.Records.ToList();
data.Orders = orders;
var orderCustomerNumbers = data.Orders.Select(o => oMeta15).Distinct().ToList();
var orderNumbers = data.Orders.Select(o => o.OrderNumber.ToLower()).ToList();
data.Customers = dbCustomer.Records.Where(c => orderCustomerNumbers.Contains(c.CustomerNumber)).To.List();
data.Payments = dbPayment.Records.Where(p => orderCustomerNumbers.Contains(p.OrderNumber.ToLower())).ToList();
data.Products = dbProducts.Records.Tolist();
Außerdem drehte ich eine schnelle Konsolen-App und schrieb zuerst gegen die Datenbank. Ich kann alle Kunden in dieser App erhalten. – gt5193
Ist es möglich, relevanten Code zu teilen, damit Leute sehen können, wo Sie möglicherweise falsch gegangen sind? Dies wird helfen, mehr Antworten zu erhalten. – nbryans
@ gt5193 Es würde auch helfen, das Code-Snippet in die Frage aufzunehmen, anstatt ein Bild zu verwenden. Sie können den Code mit 4 führenden Leerzeichen formatieren. –