码迷,mamicode.com
首页 > 其他好文 > 详细

LINQ to Entities 不识别方法“System.String ToString() 的解决方法

时间:2017-05-03 21:55:29      阅读:301      评论:0      收藏:0      [点我收藏+]

标签:intern   elf   log   name   源码   lis   原因   保存   detail   

今天在做一个页面的时候出现了LINQ to Entities 不识别方法“System.String ToString()”的错误,对于源码IQueryable<SelectListItem> items = roleInfoServer.Get(r => true).Select(r => new SelectListItem() { Value = r.Id.ToString(), Text = r.RoleName });找了好长的时间没有找到原因。无奈之下只好求助度娘了,找了半天别人遇到的时候是在linq的where语句中出现的。解决的办法是采用变量的方法。如http://blog.csdn.net/qqxyy99/article/details/52144902中写的方法,但是这些不适合我。

看了几个博客,但遇到这个问题的基本上是和Iqueryable这个接口有关。于是想起了MSDN上说的

IQueryable 接口由查询提供程序实现。该接口只能由同时实现 IQueryable<T> 的提供程序实现。如果该提供程序不实现 IQueryable<T>,则无法对提供程序数据源使用标准查询运算符。

而我所有的关于查询的全部使用IQueryable,数据都保存在数据库,没有实现。

于是,我把IQueryable换成了IEnumerable,代码变成了这样:  IEnumerable<SelectListItem> items = roleInfoServer.Get(r => true).AsEnumerable().Select(r => new SelectListItem() { Value = r.Id.ToString(), Text = r.RoleName });

 

问题解决

 

LINQ to Entities 不识别方法“System.String ToString() 的解决方法

标签:intern   elf   log   name   源码   lis   原因   保存   detail   

原文地址:http://www.cnblogs.com/syl2006/p/6803913.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!