MVC entity(EF)查询部分字段后怎么在view输出 30

情况是这样的:有一数据库上下文db,包括实体users,该实体包含30个字段idnamepwd...,一般是通过model输出,控制器输出代码为:returnview(d... 情况是这样的:
有一数据库上下文db,包括实体 users,该实体包含30个字段 id name pwd ...,一般是通过model输出,
控制器输出代码为: return view(db.users.where(u=>true).ToList());
视图这边只要声明:@model List<users>就可以在html视图中调用List对象进行输出。

现在的问题是,前端视图只输出2个字段,为了节省不必要的资源,我的控制器代码就改写成了:
return view(db.user.where(u=>true).select(u=> new { u.id,u.name }).ToList());
但是这样前端就不能通过@model List<users>调用,会提示类型转换错误,如果输出dicmicy类型,又会提示Object不存在id属性……纠结啊~
求大神指教,解决问题的追加最高分。

最好能在前端继续使用对象类型输出,如果不行,请指教其它比较好的方案,谢谢!
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏30(财富值+成长值)
cocosip
2015-09-03 · TA获得超过275个赞
知道小有建树答主
回答量:588
采纳率:50%
帮助的人:328万
展开全部
创建新的实体,或者使用dynamic输出
追问
用dynamic出错:
如果是后台代码 用foreach可以循环出来,但是在前端就会提示Ojbect不存在Id属性,可能是MVC输出到前端的时候转成了object而没有保留原来对象类型
追答
照理来说应该不会错,因为mvc的ViewBag也是用的dynamic,只在运行的时候才会提示是否正确。以前我使用List进行遍历的时候,也是可以的。你的视图中定义的强类型是什么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式