2014-01-21 67 views
1

我試圖從數據庫查詢視圖(實體)並返回字典。在視圖中有重複,所以我嘗試了groupby,我無法弄清楚。查詢實體並返回字典

var queryresults = db.MyView.Where(x => x.year == myYear) 
          .GroupBy(g => new { g.myCode, g.myCodeName}) 
          .ToDictionary(d => d.myCode, d => d.myCodeName); 

回答

2

如果您想避免重複鍵錯誤,您應該按字典鍵屬性進行分組。然後您可以選擇每個組中第一項的代碼名稱作爲字典輸入值:

var queryresults = 
     db.MyView.Where(x => x.year == myYear) 
     .GroupBy(x => x.myCode) 
     .ToDictionary(g => g.Key, g => g.First().myCodeName); 
+1

謝謝,我知道我很接近。 –