LINQ to Entity 不识别方法“System.String ToString()”,因此该方法无法转换为存储表达式。

   最近在项目中一直遇到问题,其中最让人头疼的就是:

   LINQ to Entity 不识别方法“System.String ToString()”,因此该方法无法转换为存储表达式。

   错误出处为:

   List<ta_resource> enResource = this.CurrentDal.LoadItems(r => r.ResourcePId ==resourceId.ToString()).ToList();

   遇到问题需要自己解决,于是,开始了漫长的解决之路。。。

   于是,就出现了很多像下述这样的博客

   http://blog.csdn.net/guokeeryi_/article/details/44758911

   没有什么总结性的语言,只有代码上的不同。之后在学习MVC视频时看到了同样的错误,


   老师却并没有讲理由,这是很让我伤心的一件事情。知道成功的代码如下:

   然并卵。三四天的时间全都是这个问题,太难受了,当遇到问题半天解决不了的 就应该寻求别的帮助了。我这都多少个半天了,,

   无奈自己解决不了叫来了师父20min左右的时间,没有找到原因,请教了另一个师哥,一点就通,两分钟完美解决。

   修改后的代码为:

  String temp = resourceId.ToString();             
  List<ta_resource> enResource = this.CurrentDal.LoadItems(r => r.ResourcePId ==temp).ToList();

   之前查过资料里遇到一句话,Linq语句中不能调用其他方法如Tostring。之前不懂,但是自从师哥的一句话点通,才知道这句话的精妙。由于只能调用到属性,所以将Tostring摘出来当做一种临时变量。问题完美解决。
   然后,今天写博客有些仓促,不知道该怎么完整的描述这个问题的解决,于是又在网上查到部分信息。竟然找到了跟师哥思想碰撞的解释。很开心,能更明白一点了。链接如下:

   这个多了解释性的话语,更明白一点了,看来问题需要常常回顾,印象才能更深刻。

   通过这个问题的解决,发现解决问题的思路确实太重要了,然而思路的来源又是什么呢?是多年或者以前的各种错误,丰富了经验。所以以后多多敲代码多多调错,才能尽可能少的浪费时间,尽可能多的完美解决问题!


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 18
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值