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转换为字符串。 但是,这是如何修复您的代码。
- 首先签署贡献者许可协议 。
- 然后你派生Entity Framework git repo 。
- 编写一个新的
MethodCallTranslator.CallTranslator
,它将采用Convert.ToInt32(string)
并将其替换为(int) string
。 - 在
MethodCallTranslator
注册新的MethodCallTranslator
。 - 为您的测试用例编写unit testing。
- 报到
- 创建拉取请求
- 等待
- 从nuget下载新版本的Entity Framework