【发布时间】:2014-10-08 16:12:35
【问题描述】:
我正在尝试查找所有 SALARIO 大于 10,000 的条目。我的 SQL Server 表中的SALARIO 列是varchar 类型,我尝试编写的查询是这样的
from e in db.ASALARIADOS
where int.Parse(e.SALARIO) > 10000
select e;
但我得到一个不受支持的异常。这种情况应该怎么处理?
【问题讨论】:
-
存储 linq 查询结果的类型变量是什么?
-
我用
var存储那个查询 -
我测试了您的查询,但我有一个 bool 而不是 varchar 并且它有效。在.net 中你没有varchar,你会有一个字符串。您确定该代码中引发了异常吗?
-
真正的 解决方案是使用最合适的 数据类型——首先在数据库中!因此,如果这是一个薪水(一个数值) - 为什么它存储为
varchar?!?!?!?修复此问题,将其设为DECIMAL(20,4)或任何对您有意义的内容 - 然后您的所有问题都会自动消失......
标签: asp.net sql-server asp.net-mvc