ASP.NET MVC 使用EF框架linq子查询,结果传递到Razor视图进行显示出错(不重新创建实体类)
2个回答
展开全部
你已经使用了ToList() 那么取出来的是一个List<编译器生成的类> 对象了,而List没有实现IQueryable接口,所以使用 as 运算符转换肯定失败,得到的是Null, 那么报这个异常是必然的了。
解决方法: 使用转换成 IEnumerable ,或使用 dynamic
建议还是使用强类型视图模型。
解决方法: 使用转换成 IEnumerable ,或使用 dynamic
建议还是使用强类型视图模型。
追问
IEnumerable改成这个是可以遍历了,但是值取不出来使用@item.name报错,这个怎么解决?还是说必须使用强数据类型?
追答
不用var,用dynamic试试。
@foreach (dynamic item in xxxxxx)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把IQueryable改成IEnumerable试试
更多追问追答
追问
IEnumerable改成这个是可以遍历了,但是值取不出来使用@item.name报错,这个怎么解决?还是说必须使用强数据类型?
追答
我觉得是因为没有name这个属性,你改成item.RealName
或者把select改成select new {
name=u.RealName
}
试试
哦,不对,我看错了,Name大写试试
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询