2

我的公司正在使用 SQL Server Compact 来存储和管理本地数据库,我需要从数据库表中获取主键信息。

OleDbConnection.GetSchema()过去曾使用 Jet 和 OLE 驱动程序从 Access 数据库中获取此信息。但似乎SqlCeConnection.GetSchema()抛出了一个NotImplementedException(或者更确切地说它返回DBConnection.GetSchema()抛出相同的异常)。

我不需要通常返回的所有信息GetSchema(),只需要 PK 的名称。有没有一种好方法可以找出 SQL Server Compact 数据库中表的主键?

注意:上述方法引用不是静态函数调用。将类名视为该类型的对象引用。

4

1 回答 1

6
SELECT INDEX_NAME, COLUMN_NAME
  FROM INFORMATION_SCHEMA.INDEXES
  WHERE PRIMARY_KEY = 1
  AND TABLE_NAME = 'MyTable';
于 2012-06-22T12:27:15.940 回答