我wana将字符串转换为linq中的int实体,但Convert.ToInt32和int.Parse不能转换为sql 而且我的数据库很大并且无法获取所有这些内存(超过60K的记录,并获得更大) 我的查询是一样的东西将字符串转换为linq中的int到大数据库上的实体
int myNumber = 1390;
var result = from dr in myEntitiy.TableX
where (Convert.ToInt32(dr.stringYear) > myNumber) // <== error
select dr;
错误说无法翻译转换方法
LINQ到实体无法识别方法“的Int32 ToInt32(System.String )'方法,并且此方法不能翻译为int o商店表达。
最新解决方案
UPDATE: 如果没有办法做到这一点,请让我知道这个,然后我不得不改变在数据库中的字段类型,但它会很难:(
为什么你把年份保持为一个字符串? – Jon
一个愚蠢的人做到了这一点:/和我不能改变,现在 – mX64
你可以尝试先做转换?将结果存储在一个列表中,然后进行比较 – ironman