我需要帮助尝试使用 LINQ 处理从数据表访问的行



我正在尝试使用 LINQ 从数据表中获取一行。 它似乎得到了记录,但我无法使用它。 不知道我做错了什么。 我的 LINQ 查询如下:

IEnumerable<DataRow> query = 
      from myRow in dataTable.AsEnumerable()
      where myRow.Field<int>("AM2MIN") <= Convert.ToInt32(minimumValue) &&
            myRow.Field<int>("AM2MAX") >= Convert.ToInt32(minimumValue)
      select myRow;

当我执行以下操作以查看是否存在任何记录时,它会出错。

if (query.Any())
{
}

InvalidCastException似乎是一致的错误。

任何帮助都非常感谢!

看起来您的某个字段不包含整数值。

验证这些列Data Type。还要验证是否允许使用空值。如果数据类型为 int ,但允许空值,则强制转换为可为空的 int: myRow.Field<int?>("AM2MIN")并验证它是否具有值。

最新更新