2014-01-21 66 views
0

在選擇了最大BreadCrumbID的行之後,我正在創建只有來自tbBreadCrumb表的StatusID的數據集,但不知道如何去做。基本上,我只想將StatusID返回給JSON,但是我得到的紅色下劃線是這樣說的:「int不包含爲'Select'設置的定義,並且沒有擴展方法'Select'可以丟失程序集嗎?」使用具有聚合函數的LINQ在列上進行選擇

這裏是我的代碼:

[WebMethod] 
    public static object getMaxBreadCrumbByProjectID(int id) 
    { 
     using (dbPSREntities5 myEntities = new dbPSREntities5()) 
     { 
      var thisProject = myEntities.tbBreadCrumbs.Where(x => x.ProjectID == id).Max(x => x.BreadCrumbID); 

      var columns = thisProject.Select(x => new { x.StatusID }).ToList(); <--- this has the red underline and error message. 

      return columns; 
     } 
    } 

回答

1

Max退回最大BreadCrumbId這是一個integer.Try這樣的:

var id = myEntities.tbBreadCrumbs.Where(x => x.ProjectID == id).Max(x => x.BreadCrumbID); 
var columns = myEntities.tbBreadCrumbs.Where(x => x.BreadCrumbID == id) 
             .Select(x => x.StatusID).ToList(); 
+0

這是完美的感謝! – user1431633

3

由於錯誤是想告訴你,thisProject已經是一個數字。

Max()返回最高值,而不是集合。