C# 具有唯一约束的FbDataReader问题

C# 具有唯一约束的FbDataReader问题,c#,datatable,firebird,unique-constraint,firebird2.5,C#,Datatable,Firebird,Unique Constraint,Firebird2.5,我正在将FbDataReader加载到包含以下类型唯一约束(完整表DDL)的表的DataTable中 我想要的是能够为相同的STRING\u KEY设置多个条目,前提是它们具有不同的INT\u KEY。请注意,我可以将INT\u KEY作为NULL记录,但如果是这样,则(STRING\u KEY,NULL)记录也应该是唯一的 此外,我在INT\u key上有一个外键 现在,当我加载我的FbDataReader时,如下所示: FbDataReader reader = command.Execut

我正在将
FbDataReader
加载到包含以下类型唯一约束(完整表DDL)的表的DataTable中

我想要的是能够为相同的
STRING\u KEY
设置多个条目,前提是它们具有不同的
INT\u KEY
。请注意,我可以将
INT\u KEY
作为
NULL
记录,但如果是这样,则
(STRING\u KEY,NULL)
记录也应该是唯一的

此外,我在
INT\u key
上有一个外键

现在,当我加载我的
FbDataReader
时,如下所示:

FbDataReader reader = command.ExecuteReader();
DataTable dataTable = new DataTable();
dataTable.Load(reader);
我得到一个错误:

未能启用约束。一个或多个行包含违反非空、唯一或外键约束的值

因此,我开始测试: 1.移除上述唯一约束后,负载即可工作 2.仅使用
STRING_键
的唯一约束有效,即我绝对没有违反记录:单个键是唯一的,组合键也必须是唯一的-或者我误解了唯一约束的含义。 3.在
INT\u键中设置所有
NULL
值不会改变任何东西-加载数据表时会发生相同的错误


当然,我可以将数据加载到
DataSource
中,并将
EnforceConstraints
设置为false,这是有效的。但是,如果出现一个我不理解的错误,并通过忽略它来修复它,我会感到不舒服…

您可以发布表格的整个定义吗?您可以发布表格的整个定义吗?
FbDataReader reader = command.ExecuteReader();
DataTable dataTable = new DataTable();
dataTable.Load(reader);