여기에 문제가 있습니다. ViewPage에서 IEnumerable을 얻고 있으며 List를 변환하려고 할 때 다음과 같은 오류가 표시됩니다.
‘
System.Collections.Generic.IEnumerable<Pax_Detail>
‘에 ‘ToList’에 대한 정의가 포함되어 있지 않으며 ‘System.Collections.Generic.IEnumerable<Pax_Detail>
‘ 유형의 첫 번째 인수를 허용하는 확장 메서드 ‘ToList’를 찾을 수 없습니다 (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에 대한 참조가 없습니다.
더하다
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 패키지를 추가하기 만하면됩니다.