Имам C # приложение, което използва NpgSQL, за да комуникира с база данни postgres. Въпреки това, когато се опитвам да запълня DataTable с резултат, съдържащ стойност NULL, се издава грешка:
"System.Data.ConstraintException:" Неуспешно активиране на ограничения. Един или повече редове съдържат стойности, които нарушават ограничения, които не са нули, уникални или чужди ключове.
Дори когато правя нещо като:
NpgsqlCommand statement = new NpgsqlCommand("SELECT NULL", connection);
NpgsqlDataReader resultReader = statement.ExecuteReader();
var table = new DataTable();
table.Load(resultReader);
В командния прозорец на Visual Studio, table.GetErrors () [0] `дава:
{System.Data.DataRow}
HasErrors: true
ItemArray: {object[1]}
RowError: "Column "?column?" does not allow DBNull.Value."
RowState: Unchanged
Table: {}
Може ли това да е свързано с това този бъг?
Отговори:
0 за отговор № 1Проблемът е причинен от нашия проект, използвайки стара версия на NpgSQL (3.2.2). От версия 3.2.3 този проблем е решен.