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

景色

@model IEnumerable<Models.Modulos>

エラーは次のとおりです。

ディクショナリに渡されたモデル アイテムのタイプは 'System.Collections.Generic.List 1[<>f__AnonymousType61[Models.Modulos]]' ですが、このディクショナリにはタイプ 'System.Collections.Generic.IEnumerable`1[Models.Modulos] のモデル アイテムが必要です]'

誰でも私を助けることができますか?? ありがとう

4

1 に答える 1

2

次の行で不必要に匿名型を作成したようです。

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

代わりに単純に試してください(を返す必要がありますIEnumerable<Modulos>):

.Select(s => s.Modulos.Modulos)
于 2013-07-03T23:33:49.347 に答える