Ich versuche, eine Liste von Shop_Orders
wo ihre order_num
Wert nicht in einer Tabelle namens WarhouseOrder
. Diese Tabelle enthält 500K-Datensätze, und es gibt einen Index für OrderNo
. List<Shop_Order>
enthält ca. 150 Artikel, von denen jeder eine order_num
hat. Wenn dieser Code ausgeführt wird, scheint er sehr ineffizient und langsam zu sein und führt zu einer Outofmemory-Ausnahme. Gibt es einen besseren Weg, dies zu tun?EF-Abfrage mit exists throws outoutmemory Ausnahme
List<Shop_Order> new_orders = (from a in osource.order
where !ctx.WarehouseOrders.ToList()
.Exists(o => o.OrderNo == a.order_num) select a).ToList();
Ich stelle mir vor, 'ToList()' auf 'WarehouseOrders' ist nicht gut. Versuchen Sie, zwei Tabellen zu verbinden? – Equalsk
Sie könnten versuchen, 'Take()' Methode verwenden, um die Menge der Daten, zusätzlich zu dem vorherigen Kommentar zu reduzieren – Vladimir