我正在使用SQL 2014数据库。 (也在SQL 2012中以相同的行为进行了测试。) 我有一张带有主键的表格,其中列有A,B和#39; create table语句中的列使用不同的顺序' B,A'。
当我运行DataAdapter.FillSchema()时,DataTable.PrimaryKey按顺序设置为列,B,A'。我的期望是按顺序排列#A,B' - 数据库中主键的排序方式。
当表格创建如下时,DataTable.PrimaryKey按顺序排列' A,B':
drop table alex_test
CREATE TABLE alex_test(
[a] [varchar](128) NOT NULL,
[b] [varchar](128) NOT NULL,
[c] [varchar](128) NOT NULL
CONSTRAINT [pk_alex_test] PRIMARY KEY CLUSTERED
(
a ASC,
b ASC
)
)
insert into alex_test (a, b, c) Values('a', 'b', 'c')
但是,当表格创建如下时,DataTable.PrimaryKey的顺序为' B,A':
drop table alex_test
CREATE TABLE alex_test(
[b] [varchar](128) NOT NULL,
[a] [varchar](128) NOT NULL,
[c] [varchar](128) NOT NULL
CONSTRAINT [pk_alex_test] PRIMARY KEY CLUSTERED
(
a ASC,
b ASC
)
)
insert into alex_test (a, b, c) Values('a', 'b', 'c')