DataTable.PrimaryKey列与数据库主键的顺序不同

时间:2015-06-10 15:15:28

标签: c# sql-server datatable sql-server-2014 dataadapter

我正在使用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')

0 个答案:

没有答案