c# - multiple - System.Collections.Generic.IEnumerable ''no contiene ninguna definición para'' ToList ''
tolist c# (4)
Aquí está el problema Estoy obteniendo IEnumerable de ViewPage y cuando traté de convertir List, me está mostrando un error como:
''
System.Collections.Generic.IEnumerable<Pax_Detail>
'' no contiene una definición para ''ToList'' y no se pudo encontrar ningún método de extensión ''ToList'' que aceptara un primer argumento de tipo ''System.Collections.Generic.IEnumerable<Pax_Detail>
'' ( ¿Echas de menos una directiva de uso o una referencia de ensamblaje?)
Aquí está mi código de controlador:
[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();
}
He aplicado la misma lógica en otro controlador. Y está funcionando bien. No sé qué problema tiene. Ya limpié, reconstruí el proyecto y también reinicié mi computadora portátil (aunque era necesaria).
¿Te estás perdiendo una directiva de uso de System.Linq
?
Falta una referencia a System.Linq.
Añadir
using System.Linq
para obtener acceso a la función ToList () en el archivo de código actual.
Para dar un poco de información sobre por qué es necesario, Enumerable.ToList<TSource>
es un método de extensión. Los métodos de extensión se definen fuera de la clase original a la que apunta. En este caso, el método de extensión se define en el espacio de nombres System.Linq
.
Me faltaba la referencia de System.Data.Entity dll y se resolvió el problema
Una alternativa para agregar LINQ sería usar este código en su lugar:
List<Pax_Detail> paxList = new List<Pax_Detail>(pax);