2011-03-19 109 views
1
 foreach (lc_ShoppingCart sc in shQuery) 
     { 
      //Decrement the Product Table's Total Remaining row with the quantity 
      var ProductInventoryQuery = (from pr in db.lc_ProductInventories 
             join c in db.lc_ColorTables on pr.Color equals c.Color 
             join s in db.lc_SizeTables on pr.Size equals s.Size 
             where pr.ProductID == Convert.ToInt32(sc.ProductID) 
             where pr.Color == c.Color 
             where pr.Size == s.Size 
             select pr).First(); 
      ProductInventoryQuery.Quantity = ProductInventoryQuery.Quantity - sc.Quantity; 
     } 
+1

使用LinqPad http://www.linqpad.net/ – 2011-03-23 09:54:18

回答

1

大概是這樣的:

var ProductInventoryQuery = 
     db.lc_ProductInventories.Where(w => w.ProductID == Convert.ToInt32(sc.ProductID)) 
     .Join(db.lc_ColorTables, p => p.Color, ct => ct.Color, (p, ct) => new { ProdInv = p, ColorTables = ct }) 
     .Join(db.lc_SizeTables, p => p.Size, st => st.Color, (p, st) => new { ProdInv = p, SizeTables = st }) 
     .First();