1

私はEntity Frameworkを使用しています。データベースからテーブルの列名を取得する方法はありますか?

データベースにあるすべての列名を表示したい。

4

2 に答える 2

1

このクエリは marc_s のものと似ていますが、sys.objects代わりにsys.tables. システム テーブルsys.tablesには多くの非表示の JOIN ステートメントが含まれているため、このクエリは高速になるはずです -

SELECT
  column_name = c.name,
  table_name = s.name + '.' + o.name
FROM sys.columns c 
JOIN sys.objects o ON c.object_id = o.object_id
JOIN sys.schemas s ON o.schema_id = s.schema_id
WHERE o.type = 'U'
于 2013-04-09T07:52:08.353 に答える
1

私の知る限り、Entity Framework から直接ではありませんが、カタログ ビューに対して標準の T-SQL クエリをいつでも実行できます。

SELECT
    ColumnName = c.Name,
    SchemaName = s.Name, 
    TableName = t.Name
FROM
    sys.columns c 
INNER JOIN 
    sys.tables t ON c.object_id = t.object_id
INNER JOIN 
    sys.schemas s ON t.schema_id = s.schema_id

これにより、現在の SQL Server データベースから、すべての列とそれらが含まれるスキーマおよびテーブルが得られます。

于 2013-04-09T06:08:39.917 に答える