Npgql get_HasRows()抛出ArgumentOutOfRangeException

时间:2016-08-04 17:06:07

标签: postgresql npgsql

下午好,

我目前正在使用AspNetCore和MVC进行开发,并使用PostgreSQL(Npgsql)作为我的数据库。

我的查询在得到一些结果时工作正常。

当查询返回空结果时,我收到了ArgumentOutOfRangeException错误。

System.ArgumentOutOfRangeException: Argument is out of range.
Parameter name: Got unexpected message type: ReadyForQuery
   in Npgsql.NpgsqlDataReader.get_HasRows()
   in QueryPostgreSQL.IsEmpty()
   in sistema_cotacao.Controllers.LoginController.<Index>d__2.MoveNext() in \Visual Studio 2015\Projects\sistema-cotacao\src\sistema-cotacao\Controllers\LoginController.cs:line 66

这是发生错误的代码(At query.IsEmpty()):

if ((query.IsEmpty()) || (usuario.enti_email != usu.enti_email))
{
    ...
    query.Close();
    return View();
}
else
{
    ....
    query.close();
    return Redirect("/Login");
}

我的IsEmpty()功能是:

private NpgsqlDataReader queryPostgreSQL;
...
public Boolean IsEmpty()
{
    Boolean bResult = true;
    bResult = !queryPostgreSQL.HasRows;
    return bResult;
}

我无法找到问题所在。

1 个答案:

答案 0 :(得分:1)

这是Npgsql中的一个错误。 The issue has been fixed并将在3.1.7版本中发布(可能在今天晚些时候发布)。