У меня есть таблица с именем Permissions, которая определена в наборе данных с именем _permissionsSet и имеет 3 столбца: PermissionGroup, Permission, PermissionLevel (в этом порядке)
Я установил первичный ключ в таблице, чтобы включить все 3 столбца, как это
DataColumn[] keys = new DataColumn[3];
keys[0] = _permissionsSet.Permissions.Columns[0];
keys[1] = _permissionsSet.Permissions.Columns[1];
keys[2] = _permissionsSet.Permissions.Columns[2];
_permissionsSet.Permissions.PrimaryKey = keys;
Когда я смотрю на значения в «ключах», они соответствуют ожиданиям:
? keys
{System.Data.DataColumn[3]}
[0]: {PermissionGroup}
[1]: {Permission}
[2]: {PermissionLevel}
Но когда я смотрю на первичный ключ, порядок изменился!
? _permissionsSet.Permissions.PrimaryKey
{System.Data.DataColumn[3]}
[0]: {PermissionGroup}
[1]: {PermissionLevel}
[2]: {Permission}
Это имеет очевидные последствия при использовании метода Rows.find в моей таблице данных.
Кто-нибудь знает, почему это происходит?