从 NpgSQL 加载空值时出现数据表约束错误



我有一个使用NpgSQL与postgres数据库通信的C#应用程序。但是,当我尝试用包含 NULL 值的结果填充数据表时,会抛出错误:

"System.Data.ConstraintException:"无法启用约束。一行或多行包含违反非空值、唯一值或外键约束的值。

即使我做这样的事情也是如此:

NpgsqlCommand statement = new NpgsqlCommand("SELECT NULL", connection);
NpgsqlDataReader resultReader = statement.ExecuteReader();
var table = new DataTable();
table.Load(resultReader);

在 Visual Studio 命令窗口中,表。GetErrors(([0]' 给出:

{System.Data.DataRow}
    HasErrors: true
    ItemArray: {object[1]}
    RowError: "Column '?column?' does not allow DBNull.Value."
    RowState: Unchanged
    Table: {}

这可能与此错误有关吗?

该问题是由我们的项目使用旧版本的 NpgSQL (3.2.2( 引起的。从版本 3.2.3 开始,此问题已得到解决。

最新更新