System.Collections.Generic.IEnumerable& # 39;不包含'ToList&
本文关键字:ToList 包含 Collections Generic IEnumerable System | 更新日期: 2023-09-27 18:07:37
问题在这里。我从ViewPage得到IEnumerable,当我尝试转换列表时,它显示了我的错误,如:
'
System.Collections.Generic.IEnumerable<Pax_Detail>
'不包含一个'ToList'的定义,没有扩展方法'ToList'接受类型的第一个参数可以找到'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();
}
我在另一个控制器上应用了相同的逻辑。它工作得很好。我不知道它有什么问题。我已经清理,重建项目,并重新启动了我的笔记本电脑(虽然这是必要的)。
您是否缺少System.Linq
的使用指令?
您缺少对System.Linq的引用。
添加using System.Linq
来访问当前代码文件上的ToList()函数。
为了说明为什么这样做是必要的,Enumerable.ToList<TSource>
是一个扩展方法。扩展方法在其目标的原始类之外定义。在本例中,扩展方法定义在System.Linq
名称空间上。
添加LINQ的另一种选择是使用以下代码:
List<Pax_Detail> paxList = new List<Pax_Detail>(pax);
缺少System.Data.Entity dll引用,问题已解决
在我的例子中,我从另一个使用Automapper的项目中复制了一些代码——我花了很长时间才解决这个问题。只需要将automapper nuget包添加到项目中。