我正在使用Entity Framework,我有一行代码将字符串字段(id)转换为int并与数字进行比较
students = students.Where(s => (Int32.Parse( s.id)>5555));
每当我尝试运行它时,我都会收到此错误。 " LINQ to Entities无法识别方法' Int32 Parse(System.String)'方法,并且此方法无法转换为商店表达式。"
我尝试了不同的东西,没有任何工作,所以任何帮助都会很棒。
答案 0 :(得分:5)
首先,我强烈建议不要将列转换为int,否则会丢失列上的索引。您宁愿将int转换为字符串。但是,这是如何修复您的代码。
MethodCallTranslator.CallTranslator
,其中Convert.ToInt32(string)
将其替换为(int) string
。MethodCallTranslator.CallTranslator
内注册新的MethodCallTranslator
。