欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

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

发布时间:2023/12/2 编程问答 63 豆豆
生活随笔 收集整理的这篇文章主要介绍了 LINQ to Entities 不识别方法“System.String ToString() 的解决方法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

今天在做一个页面的时候出现了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 });

 

问题解决

 

转载于:https://www.cnblogs.com/syl2006/p/6803913.html

总结

以上是生活随笔为你收集整理的LINQ to Entities 不识别方法“System.String ToString() 的解决方法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。