private void AssertConstraintAndKeyIndexes()
{
Debug.Assert(null != _constraintIndex, "null UniqueConstraint index");
// ideally, we would like constraintIndex and key.GetSortIndex to share the same index underneath: Debug.Assert(_constraintIndex == key.GetSortIndex)
// but, there is a scenario where constraint and key indexes are built from the same list of columns but in a different order
DataColumn[] sortIndexColumns = new DataColumn[_constraintIndex._indexFields.Length];
for (int i = 0; i < sortIndexColumns.Length; i++)
{
sortIndexColumns[i] = _constraintIndex._indexFields[i].Column;
}
Debug.Assert(DataKey.ColumnsEqual(_key.ColumnsReference, sortIndexColumns), "UniqueConstraint index columns do not match the key sort index");
}