LINQ to Entities无法识别方法’Int32 Parse(System.String)’方法,

我正在使用Entity Framework,我有一行代码将字符串字段(id)转换为int并与数字进行比较

students = students.Where(s => (Int32.Parse( s.id)>5555)); 

每当我尝试运行它时,我都会收到此错误。 “LINQ to Entities无法识别方法’Int32 Parse(System.String)’方法,并且此方法无法转换为商店表达式。”

我尝试了不同的东西,没有任何工作,所以任何帮助都会很棒。

首先,我强烈建议不要将列转换为int,否则会丢失列上的索引。 您宁愿将int转换为字符串。 但是,这是如何修复您的代码。

  1. 首先签署贡献者许可协议 。
  2. 然后你派生Entity Framework git repo 。
  3. 编写一个新的MethodCallTranslator.CallTranslator ,它将采用Convert.ToInt32(string)并将其替换为(int) string
  4. MethodCallTranslator注册新的MethodCallTranslator
  5. 为您的测试用例编写unit testing。
  6. 报到
  7. 创建拉取请求
  8. 等待
  9. 从nuget下载新版本的Entity Framework