Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

System.Collections.Generic.IEnumerable' does not contain any definition for 'ToList'

Here is the problem. I am getting IEnumerable from ViewPage and when I tried it to convert List it is showing me error like:

'System.Collections.Generic.IEnumerable<Pax_Detail>' does not contain a definition for 'ToList' and no extension method 'ToList' accepting a first argument of type 'System.Collections.Generic.IEnumerable<Pax_Detail>' could be found (are you missing a using directive or an assembly reference?)

Here is my controller code:

[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(); } 

I have applied same logic on another controller. And it is working fine. I don't know what problem it has. I have already clean, rebuild project and also restarted my laptop(though it was needed).

like image 921
Dhwani Avatar asked Apr 04 '13 13:04

Dhwani


2 Answers

Are you missing a using directive for System.Linq?

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

like image 60
Anthony Sottile Avatar answered Sep 17 '22 15:09

Anthony Sottile


You're missing a reference to System.Linq.

Add

using System.Linq 

to get access to the ToList() function on the current code file.


To give a little bit of information over why this is necessary, Enumerable.ToList<TSource> is an extension method. Extension methods are defined outside the original class that it targets. In this case, the extension method is defined on System.Linq namespace.

like image 31
Adrian Godong Avatar answered Sep 20 '22 15:09

Adrian Godong