将查询转换为列表(不工作)asp.net mvc

将查询转换为列表(不工作)asp.net mvc,asp.net,asp.net-mvc,database,linq,Asp.net,Asp.net Mvc,Database,Linq,我正在尝试创建一个查询,其结果将存储在ViewModel中。当我尝试将查询变量分配给ViewModel的方法时,会出现以下错误:“无法将类型'System.Linq.Iqueryable'隐式转换为'System.Collections.Generic.List'。存在显式转换(是否缺少强制转换?)。 我尝试将ViewModel的方法更改为Iqueryable类型,而不是List类型,但之后我无法在视图中使用foreach循环来循环我的模型,因此我将其更改回List。我尝试在查询后执行ToLis

我正在尝试创建一个查询,其结果将存储在ViewModel中。当我尝试将查询变量分配给ViewModel的方法时,会出现以下错误:“无法将类型'System.Linq.Iqueryable'隐式转换为'System.Collections.Generic.List'。存在显式转换(是否缺少强制转换?)。 我尝试将ViewModel的方法更改为Iqueryable类型,而不是List类型,但之后我无法在视图中使用foreach循环来循环我的模型,因此我将其更改回List。我尝试在查询后执行ToList(),但也不起作用。非常感谢您的任何建议/提示/提示。下面是我的控制器代码和ViewModel代码

视图模型:

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);
    }
    var trackDisplayMod = new TrackViewModel
    {
        TRACK_INFO = trackData.ToList()
    };