Npgsql引发不正确的异常
本文关键字:异常 不正确 Npgsql | 更新日期: 2023-09-27 18:24:19
我对Npgsql
有一个奇怪的问题。我试图删除表中有外键且仍在使用中的记录。Postgres的命令行给了我一个Key is still referenced
错误,这是意料之中的。
但是,如果我尝试从我的应用程序中使用Npgsql
,我会得到以下异常:
后端发送了无法识别的响应类型:e
根据互联网上的消息来源,这很可能是由多线程引起的,但我在这个应用程序中没有使用其他线程。我检查了一下,所有代码都在"主线程"上运行。
然后,如果我发现这个异常,并尝试使用以下代码再次查询我的数据库:
DataSet ds = new DataSet();
NpgsqlDataAdapter da = new NpgsqlDataAdapter(cmd);
ds.Reset();
da.Fill(ds);
我得到这个例外:
如果基础流不可查找,则在读取缓冲区不为空时无法写入BufferedStream。请确保此BufferedStream的基础流可以查找或避免对此BufferedStream执行交错读写操作。
我只想抓住错误,告诉用户他不能删除记录,然后就可以了。现在,它毫无理由地关闭了整个应用程序。
这是Npgsql
中的一个错误。我将DLL更新到了2.2.7版本,现在我得到了正确的异常。