2011-09-26 105 views
-1

如何使用擴展方法編寫這個linq查詢?Linq查詢linq擴展方法

var products = from p in db.Products 
      join ps in (from pss in db.ProductSpecs 
         where pss.spec_name== "Price" 
         select pss 
         ) on p.id equals ps.product_id into temp 
      from t in temp.DefaultIfEmpty() 
      orderby t.spec_value 
      select p; 

感謝您的幫助!

+0

值得看看[LINQ Query Syntax versus Method Syntax](http://msdn.microsoft.com/en-us/library/bb397947.aspx)和相關頁面。 – user7116

+1

您確定此查詢正常運作嗎?你的意思是'選擇t'而不是? – user7116

+1

你應該首先嚐試一下自己....說,在調試模式下運行,並把product.Expression.ToString()的手錶...你可以看到真正的方法調用看起來像什麼 – Jeff

回答

2

獲取LinqPad的副本,將查詢粘貼到其中,執行它,然後單擊Lambda選項卡。它會向你展示Method語法。