linq表达式中不支持Convert和Parse类型转换

错误:
LINQ to Entities不识别方法“Int32 ToInt32(System.String)”,因此该方法无法转
LINQ to Entities 不识别方法“Int32int.Parse(System.String)”,因此该方法无法转

上面报错是因为在Linq
表达式中无法识别Convert和Parse方法,也就是不能调用。
因为他要解析lamda表达式 而不是去解析C#的方法。
解决办法就是在linq表达式外面转换后再用。
如:
from t in student where t.id=Convert.ToInt32("12") select t  //错误
int id=Convert.ToInt32("12");
from t in student wheret.id=id select t  //正确


你可能感兴趣的:(Linq,linq类型转换,不识别方法,linq和Convert,linq和parse)