2016-02-27 52 views
2

我試圖輸出數據是這樣的:獲取JSON數組從C#中的LINQ

[[...],[...],[...],[...]] 

但我的查詢給了我這樣的結果:

[{...},{...},{...},{...}] 

這裏是我的查詢:

var result = (from c in displayedCompanies 
          group c by new { c.CodigoDeVenta } into s 
          select new{ 
          ID = Convert.ToString(i++), 
          s.Key.CodigoDeVenta, 
          TotalInv = s.Sum(x => x.Inventario) 
          }).ToArray(); 

我試着像下面的一些選項,但它是錯誤的:

var result = (from c in displayedCompanies 
          group c by new { c.CodigoDeVenta } into s 
          select new [] { 
          ID = Convert.ToString(i++), 
          s.Key.CodigoDeVenta, 
          TotalInv = s.Sum(x => x.Inventario) 
          }).ToArray(); 

請注意,差異是[]select new []。在我實現了「group by」之前,我曾經有過一個查詢,但是在通過此方法添加組之後,此功能無法工作。

謝謝!

+1

我會嘗試'選擇新的List (){Convert.ToString( i ++),s.Key.CodigoDeVenta,s.Sum(x => x.Inventario)}' – Eser

回答

1

拋開分組,只關注語法,你的匿名數組(new [] {...})應該沒問題。

但是,看起來您正嘗試分配Id =TotalInv =,它看起來像您之前選擇匿名對象的修訂版中的剩餘部分。

所以,相反,你應該能夠放下成員標識符,並選擇你想要的值在子陣列:

select new [] { 
    Convert.ToString(i++), 
    s.Key.CodigoDeVenta, 
    s.Sum(x => x.Inventario) 
}