2014-09-10 24 views
0

我想創建一個查詢,其結果將存儲在ViewModel中。當我嘗試將查詢變量分配給ViewModel的方法時,出現以下錯誤:「不能隱式地將類型'System.Linq.Iqueryable'轉換爲'System.Collections.Generic.List'。顯式轉換存在缺少演員?)「。 我試着改變我的ViewModel的方法是類型Iqueryable而不是List工作,但然後我不能在我的視圖中使用foreach循環來循環我的模型,所以我將它改回List。我在查詢後嘗試做ToList(),但那也不起作用。任何建議/提示/技巧,不勝感激。以下是我的控制器代碼和我的ViewModel代碼。將查詢轉換爲列表(不工作)asp.net mvc

視圖模型:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using KU_PLAN_DEV.Models; 

namespace KU_PLAN_DEV.ViewModels 
{ 
public class TrackViewModel 
{ 
    public List<string> TRACK_INFO { get; set; } 
    public List<string> GEN_ED_HEAD { get; set; } 
} 
} 

控制器的方法:

public ActionResult DisplayTrackSheet(string trackButton) 
    { 
     var db = new KuPlanEntities(); 

     var trackProgNum = (from info in db.TRACK_INFO 
          where info.degreeName == trackButton 
          select info.progNum).ToString(); 

     var trackVerNum = (from info in db.TRACK_INFO 
          where info.degreeName == trackButton 
          select info.versionNum).ToString(); 

     /*var queryTrack = (from tracks in db.GEN_ED_HEAD 
          where tracks.)*/ 

     var trackData = (from trackInfo in db.TRACK_INFO 
         where trackInfo.progNum == trackProgNum 
         && trackInfo.versionNum == trackVerNum 
         select trackInfo); 

     var trackDisplayMod = new TrackViewModel 
     { 
      TRACK_INFO = trackData 
     }; 

     return View(trackDisplayMod); 
    } 

回答

0
var trackDisplayMod = new TrackViewModel 
    { 
     TRACK_INFO = trackData.ToList() 
    }; 

你什麼時候做出的改變,你得到什麼錯誤?