2013-05-07 34 views
1

我試圖使用會話創建一個購物車。如何選擇在linq到mysql代碼的其他頁面中的購物車中顯示的選定字段。從linq選擇特定列到sql代碼和會話

我曾嘗試這樣的代碼:

if (Session["Cart"] != null) 
     { 
      using (ShoppingDataContext data = new ShoppingDataContext()) 
      { 
       List<int> Cart = (List<int>)Session["Cart"]; 
       var Products = data.Products.Where(Product => Cart.Contains(Product.ProductID)).Select(Product => Product.ProductName && Product.ProductUnitPrice)) ; 
       GridViewProduct.DataSource = Products; 
       GridViewProduct.DataBind(); 
      } 
     } 

請幫助..

回答

1

您使用formulate projectionnew選擇您想要的屬性,並返回一個新的投影類型或用戶定義類型(類)目的。

var Products = data.Products.Where(Product => Cart. 
         Contains(Product.ProductID)). 
         Select(Product => new { 
           ProductName = Product.ProductName , 
           ProductUnitPrice = Product.ProductUnitPrice 
         })) ; 

你可以讓你的課堂成爲對象。

var Products = data.Products.Where(Product => Cart. 
         Contains(Product.ProductID)). 
         Select(Product => new YourClass{ 
           ProductName = Product.ProductName , 
           ProductUnitPrice = Product.ProductUnitPrice 
         })) ;