Как преобразовать IQueryable <T>в список <T>? - PullRequest
13 голосов
/ 10 августа 2009

Просто изучаю LINQ, и я пришел к новому препятствию в своем тестовом проекте. Можете ли вы объяснить, что я делаю не так?

public List<ToDoListInfo> retrieveLists(int UserID)
{
//Integrate userid specification later - need to add listUser table first
IQueryable<ToDoListInfo> lists = 
    from l in db.ToDoLists
    select new ToDoListInfo { 
        ListID = l.ListID, 
        ListName = l.ListName, 
        Order = l.Order, 
        Completed = l.Completed 
    };

    return lists.ToList<ToDoListInfo>;
}     

Я получаю сообщение об ошибке:

Невозможно преобразовать группу методов 'ToList' в тип без делегатов 'System.Collections.Generic.List' Вы намереваетесь вызвать метод?

Ответы [ 2 ]

29 голосов
/ 10 августа 2009

Вам просто нужны паратезы:

lists.ToList<ToDoListInfo>();

Кроме того, вам не нужно объявлять параметр типа, т. Е. Вы можете использовать следующее и позволить системе типов выводить параметр типа:

lists.ToList();

5 голосов
/ 10 августа 2009

Вам не хватает закрывающих скобок в ToList, должно быть:

 ToList();

или

ToList<ToDoListInfo>();
...