最近在做一个功能,通过拼接lamdba表达试来实现的功能,但测试时总是出现一个错误,如下图所示,网上也找不到答案,差点都放弃了。。
如上图图所示,我是想通过一个lamdba表达式(上图的IdField属性)来拼接一个新的lamdba表达式(上图的GetById方法中的exp),当然上面只是演示效果,并不是我实际功能的代码。
总是出现异常,我还特意创建另一个lamdba变量exp2,表达式跟exp一样,然后用exp2就不出错,exp跟exp2我比对过,都是一模一样的,真是百思不得其姐。
当然后面我还是解决了,怎么解决呢,如下图
加了一个临时变量,引用IdField属性,然后创建lamdba表达式时用这个临时变量,就不出错了,根据它的报错的翻译,是作用域的问题引用的,具体的我还不懂,先记录下,给同样遇到我这个错误的朋友一点帮助。