Система.Коллекции.Родовой.Интерфейс IEnumerable' не содержит определение для 'список'


вот в чем проблема. Я получаю IEnumerable из ViewPage и когда я попытался преобразовать список он показывает мне ошибку, как:

'System.Collections.Generic.IEnumerable<Pax_Detail>' Не содержит определение 'список', а не метод расширения 'список' прием первый аргумент типа - System.Collections.Generic.IEnumerable<Pax_Detail> ' можно найти (пропущена директива using или ссылка на сборку?)

вот мой код контроллера:

[HttpPost]
public ActionResult Edit_Booking(Booking model, IEnumerable<Pax_Detail> pax)
{
  List<Pax_Detail> paxList = new List<Pax_Detail>();
  paxList = pax.ToList(); //getting error here
  BookingDL.Update_Booking(model, paxList);
  return View();
}

я применил ту же логику на другой контроллер. И это работает нормально. Я не знаю, что это за проблема. Я уже очистил, перестроил проект, а также перезапустил свой ноутбук(хотя это было необходимо).

4 56

4 ответа:

вам не хватает директивы using для System.Linq?

http://msdn.microsoft.com/en-us/library/bb342261.aspx

вам не хватает ссылки на систему.В LINQ.

добавить

using System.Linq

чтобы получить доступ к функции ToList () в текущем файле кода.


дать немного информации о том, почему это необходимо, Enumerable.ToList<TSource> метод расширения. Методы расширения определяются вне исходного класса, для которого они предназначены. В этом случае метод расширения определяется на System.Linq пространство имен.

альтернативой добавлению LINQ было бы использование этого кода вместо:

List<Pax_Detail> paxList = new List<Pax_Detail>(pax);

Мне не хватало системы.Данные.Сущность dll ссылка и проблема была решена