The SqlDataReader.GetSchemaTable() method returned wrong information for IsKey and IsUnique.
From Microsoft documentation: “IsUnique is true if the Column is of type timestamp”. c-tree ACE SQL does not have “timestamp” in the same way MS-SQL has and so “IsUnique” is now always set to false.
IsKey should be set to “true” on columns composing a set of columns in the rowset that, taken together, uniquely identify the row. The ADO.NET driver is not able to properly identify such columns without a major performance impact so instead of returning incorrect information, the driver has been modified to always return false.