如何从SQL Server Compact获取PK信息

MrW*_*Wuf 2 c# sql-server-ce

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

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

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

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

Aar*_*and 6

SELECT INDEX_NAME, COLUMN_NAME
  FROM INFORMATION_SCHEMA.INDEXES
  WHERE PRIMARY_KEY = 1
  AND TABLE_NAME = 'MyTable';
Run Code Online (Sandbox Code Playgroud)

  • 你可以看到它SSMS,在视图下:)我在过去的项目中使用了很多. (2认同)
  • @MrWuf肯定,我为未来的读者清理了一下. (2认同)