我正在尝试使用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
似乎是一致的错误。
非常感谢任何帮助!
答案 0 :(得分:0)
看起来您的某个字段不包含整数值。
验证这些列的Data Type
。还要验证是否允许Null。如果数据类型为int
,但允许为空,则转换为可为空的int:myRow.Field<int?>("AM2MIN")
并验证它是否有值。