Ошибка модели, выражение лямбда

Привет, у меня есть это выражение лямбда в классе контроллера, и я хочу использовать только модулю для

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

вид

@model IEnumerable

ошибка:

Элемент модели, переданный в словарь, имеет тип "System.Collections.Generic.List 1[<>f__AnonymousType6 1 [Models.Modulos]]", но для этого словаря требуется элемент модели типа "System.Collections.Generic.IEnumerable", 1 [Models.Modulos]

Кто-нибудь может мне помочь? благодаря

1 ответ

Похоже, что вы создали анонимный тип без необходимости с этой строкой:

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

Попробуйте вместо этого просто (нужно вернуть IEnumerable):

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

licensed under cc by-sa 3.0 with attribution.