从 NpgSQL 加载空值时 DataTable 约束错误

DataTable constraint error when loading null value from NpgSQL

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

"System.Data.ConstraintException: 'Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.'"

即使我做类似的事情也是如此:

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

在 Visual Studio 命令中 window,table.GetErrors()[0]` 给出:

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

这是否与 this bug 有关?

问题是由于我们的项目使用了旧版本的NpgSQL (3.2.2)。从3.2.3版本开始,这个问题已经解决了。