问题遇到的现象和发生背景
LINQ to Entities 不识别方法"System.String ToString()"
.net framework 用的时候 ef 不是 efcore 以前linq中 使用tostring 都没报错 ,现在突然就不可以了 请求生命原因
LINQ to Entities 不识别方法"System.String ToString()"
.net framework 用的时候 ef 不是 efcore 以前linq中 使用tostring 都没报错 ,现在突然就不可以了 请求生命原因
在linq 中使用 ToString() 的话,问题的出现是因为 ToString() 并没有真正执行,它变成了 MethodGroup,然后被解析并转换为 SQL。 由于没有 ToString() 等效项,因此表达式失败。你得把参数单独拎出来定义个变量赋值,然后在linq 中使用它:
var strItem = item.Key.ToString();
IQueryable<entity> pages = from p in context.pages
where p.Serial == strItem
select p;
具体问题细节你可以参考这个https://stackoverflow.com/questions/5899683/linq-to-entities-does-not-recognize-the-method-system-string-tostring-method,如果理解错了你的问题,能不能把出现问题的linq 语句发出来,好确定问题原因。