我有一个名为 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 方法时,这具有明显的含义。
有谁知道为什么会这样?