c# - Linking two lists efficiently -


i have 2 lists:

  1. products
  2. a list of product , warehouse combination containing prices/quantities etc.

two seperate results of sql queries.

the second list has 'productid'.

what i'm doing is:

foreach(var product in products)      var productwarehouses = warehouses.where(x=> x.productid == productid).tolist();      product.warehouses = productwarehouses; 

thing is, takes very, long.

note: i've tried splitting products chunks of lists , using parallel.foreach() , tasks take time down - still takes long.

use join rather doing linear search through entirety of 1 collection each item in other collection:

var query = product in products     join warehouse in warehouses     on product.productid equals warehouse.productid     warehouses     select new     {         product,         warehouses,     }; 

Comments

Popular posts from this blog

tcpdump - How to check if server received packet (acknowledged) -