EF 错误LINQ to Entities 不识别方法“Int32 ToInt32(System.String)

昨天写EF查询的时候,竟然报错。代码如下:

EF 错误LINQ to Entities 不识别方法“Int32 ToInt32(System.String)_第1张图片

错误信息如下:

LINQ to Entities 不识别方法“WinFormTools.Model.VideoInfo get_Item(Int32)”,因此该方法无法转换为存储表达式。

首先更新了数据库映射,其次查看了引入的DLL(VS10下,创建EF映射时,需要手动引入System.Data.Entity,否则没有IDispose,无法收回垃圾)。都没发现问题。结果查了一下,网上发现了一篇帖子,不过他的错误是:

LINQ to Entities 不识别方法“Int32 ToInt32(System.String)

链接如下:LINQ to Entities 不识别方法“Int32 ToInt32(System.String)

可能是因为无法动态编译的原因。红框中是错误代码。将红框中的代码替换为上一句那种写法后,发现没问题了。

EF 错误LINQ to Entities 不识别方法“Int32 ToInt32(System.String)_第2张图片

所以,EF使用时,条件不能使用需要动态编译的变量。Framework 4.0下。

编译通过。运行时正常。yeah!

有喷的,可以留言,也可以发邮件:[email protected]


你可能感兴趣的:(知识地图项目,EF)