2013-07-03 2 views
1

안녕하세요 내가 컨트롤러 클래스에서이 람다 식을 가지고, 내가모델 오류, 람다 표현식

return PartialView(db.AcessosUsuarios    
      .Join(db.Perfils, 
      Au => Au.IdPerfil, 
      p => p.IdMenu, 
      (Au, p) => new { AcessosUsuarios = Au, Perfils = p }) 
      .Where(x => x.AcessosUsuarios.IdUsuario == Usu) 
      .Join(db.Menus, 
      p => p.Perfils.IdPerfil, 
      Me => Me.IdMenu, 
      (Me, p) => new { Menus = Me, Perfils = p }) 
      .Join(db.Modulos, 
      Me => Me.Menus.Perfils.IdMenu, 
      Mo => Mo.IdModulo, 
      (Me, Mo) => new { Modulos = Mo, Menus = Me, Me.Menus.Perfils.IdMenu }) 
      .OrderByDescending(Mod => Mod.Modulos.Ordem) 
      .Join(db.AcessosAssinantes, 
      Mo => Mo.Modulos.IdModulo, 
      Aa => Aa.IdModulo, 
      (Mo, Aa) => new { Modulos = Mo, AcessosAssinantes = Aa }) 
      .Where(y => y.AcessosAssinantes.IdAssinante == Ass) 
      .Select(s => new { s.Modulos.Modulos}) 
      .ToList().AsEnumerable()); 

보기 만 modulos을 할

@model IEnumerable<Models.Modulos> 

오류는 다음과 같습니다

사전에 전달 된 모델 항목의 형식은 'System.Collections.Generic.List 1[<>f__AnonymousType6 1 [Models.Modulos]]'이지만이 사전은 'System.Collections.Generic.IEnumerable`1 모델 항목을 닫습니다. [Models.Modulos]'

누구든지 나를 도울 수 있습니까 ?? 이 줄을 불필요하게 익명의 유형을 만든 것 같은 감사

답변

2

그것은 같습니다

.Select(s => new { s.Modulos.Modulos}) 

대신 시도를 단순히 (반환해야 IEnumerable<Modulos> AN) :

.Select(s => s.Modulos.Modulos) 
+0

가 대단히 감사합니다! – Kate

+0

고마워, 또 다른 질문이있다. 주문은 작동하지 않는다. – Kate

+0

@Kate 잘 모르겠지만 주문 후에 가입을했기 때문일 수 있습니다. 마지막으로 OrderBy를 적용하려고합니다. – McGarnagle