4

我正在尝试进行查询,将包含整数作为文本的文本列转换为 Int32。这是查询:

SELECT VALUE t FROM MyEntities AS t WHERE CAST(t.TextColumn AS Edm.Int32) > 5

但是,我收到带有以下消息的 System.Data.EntitySqlException:

找不到类型“Edm.Int32”。确保加载了所需的模式并且正确导入了命名空间。靠近类型名称,第 1 行,第 75 列。

根据MSDN, Edm.Int32 应该是有效类型。

有谁知道出了什么问题?

编辑:

经过一些试验和错误,我发现以下工作:

SELECT VALUE t FROM MyEntities AS t WHERE CAST(t.TextColumn AS System.Int32) > 5

MSDN中的例子错了吗?我觉得我在这里错过了一些东西......

4

1 回答 1

5

如果使用 EntityCommand 执行查询,则数据类型为 EDM 类型,而如果使用 ObjectQuery 执行查询,则数据类型为 CLR 类型。

看起来您正在通过 ObjectQuery 执行命令。

于 2011-02-02T14:10:06.223 回答