模型错误,lambda表达式
本文关键字:表达式 lambda 错误 模型 | 更新日期: 2023-09-27 18:20:59
你好,我在控制器类中有这个lambda表达式,我只想对取模
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__AnonymousType6
1[Models.Modulos]]",但此字典需要类型为"System.Collections.Generic.IENumberable `1[Models.coduos]]"的模型项
有人能帮我吗??感谢
看起来您用以下行创建了一个不必要的匿名类型:
.Select(s => new { s.Modulos.Modulos})
只需尝试(应返回IEnumerable<Modulos>
):
.Select(s => s.Modulos.Modulos)