我有一个类似于的表
Name Height
------- ---------
Sam "1.80"
Paul "1.79"
Max "1.81m"
Steve "none"
我只想筛选身高>1.79的人。要做到这一点,我必须转换成十进制,然后进行比较。忽略值不是数字的,例如"none"。我尝试了Decimal.Passe()和Convert.ToDecimal(),但显示了一个错误System.NotSupportedException
peoples = peoples.Where(f => Convert.ToDecimal(f.Height) > 1.8);
peoples = peoples.Where(f => decimal.Parse(f.Height) > 1.8);
有解决方案吗??
Tks[]
Patrick Coelho
使用NH.Linq将数据库中的非数字值与数字进行比较的唯一方法是:
- 将列转换为数字列
- 加载所有值并在内存中进行比较(对于大型数据集不建议这样做