2010-08-28 131 views
1

這怎麼查詢被轉換爲LINQSQL查詢的LINQ到實體

SELECT materialId, SUM(totalAmount) as quantity FROM Inventory 

它之一部分,我不知道該怎麼...

query = from inv in context.Inventory 
         select new MaterialQuantity() 
         { 
          MaterialId = inv.materialId, 
          Quantity = ?? 
         }; 

編輯 嘗試總和totalAmount的值。

這是一個觀點,即是

materialId totalSum and other fields 
1   5 
1   10 
1   20 

所以我想我的LINQ返回我 MaterialId = 1,數量= 35

+0

你想要總結什麼?很顯然,可以有多個materialId值,但除非按照某種東西分組,否則只會有一個總和。 – 2010-08-28 18:43:54

回答

1

我要在這裏給一個完整的猜測......假設您的庫存有相同materialId多個行,你想在這些組來總結,你可以使用:

var query = from inv in content.Inventory 
      group inv.totalAmount by inv.materialId into g 
      select new { MaterialId = g.Key, Quantity = g.Sum() }; 

如果你不儘管嘗試分組,但您需要澄清您的問題。樣本數據和預期產出將有所幫助。