ASP.NET MVC 使用EF框架linq子查询,结果传递到Razor视图进行显示出错(不重新创建实体类)

使用IEnumerable值取不出?除了强类型有别的办法吗?... 使用IEnumerable值取不出?除了强类型有别的办法吗? 展开
 我来答
热烈且勤谨灬榜眼3691
2014-03-01 · 超过12用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:17.2万
展开全部
你已经使用了ToList() 那么取出来的是一个List<编译器生成的类> 对象了,而List没有实现IQueryable接口,所以使用 as 运算符转换肯定失败,得到的是Null, 那么报这个异常是必然的了。
解决方法: 使用转换成 IEnumerable ,或使用 dynamic
建议还是使用强类型视图模型。
追问
IEnumerable改成这个是可以遍历了,但是值取不出来使用@item.name报错,这个怎么解决?还是说必须使用强数据类型?
追答
不用var,用dynamic试试。
@foreach (dynamic item in xxxxxx)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
最后的仙人
2014-03-01 · TA获得超过1961个赞
知道大有可为答主
回答量:1509
采纳率:0%
帮助的人:1408万
展开全部
把IQueryable改成IEnumerable试试
更多追问追答
追问
IEnumerable改成这个是可以遍历了,但是值取不出来使用@item.name报错,这个怎么解决?还是说必须使用强数据类型?
追答
我觉得是因为没有name这个属性,你改成item.RealName
或者把select改成select new {

name=u.RealName

}
试试
哦,不对,我看错了,Name大写试试
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式