System.Collections.Generic.IEnumerable'不包含'ToList'的任何定义

这是问题。 我从ViewPage获取IEnumerable,当我试图转换列表它显示我错误如:

' System.Collections.Generic.IEnumerable<Pax_Detail> '不包含'ToList'的定义,并且没有find接受' System.Collections.Generic.IEnumerable<Pax_Detail> 'types的第一个参数的扩展方法'ToList'你是否缺less使用指令或程序集引用?)

这是我的控制器代码:

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

我在另一个控制器上应用了相同的逻辑。 它工作正常。 我不知道它有什么问题。 我已经清理,重build项目,并重新启动我的笔记本电脑(虽然这是必要的)。

你是否缺lessSystem.Linq的使用指令?

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

您错过了对System.Linq的引用。

 using System.Linq 

访问当前代码文件上的ToList()函数。


为了给出一些关于为什么这是必要的信息, Enumerable.ToList<TSource>是一个扩展方法。 扩展方法在其目标的原始类之外定义。 在这种情况下,扩展方法在System.Linq命名空间上定义。

添加LINQ的替代方法是使用此代码:

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

我缺lessSystem.Data.Entity的DLL参考和问题解决了