日期:2014-05-17  浏览次数:20927 次

请教:LINQ to Entities 不识别方法“System.String ToString()” 解决办法
代码
var rows = (
                    from product in products
                    select new
                    {
                        i= product.fid.ToString(),
                        cell = new string[] {
                         product.fid.ToString(),
                         product.fcode,
                         product.fno,
                         product.fspec
                      }
                    }).ToArray();
编译时不出错,运行时出错
报错: LINQ to Entities 不识别方法“System.String ToString()”,因此该方法无法转换为存储表达式。
要怎么解决啊?

------解决方案--------------------
Linq里面是不是需要这样转换:i = SqlFunctions.StringConvert((int)fid)
------解决方案--------------------
ToString不是标准函数,而String.Contace只映射了两个接受string作为参数的重载
如果你是用SQL的话,可以试试SqlFunctions.StringConvert
http://msdn.microsoft.com/en-us/library/dd466301.aspx