私はEntity Frameworkを使用しています。データベースからテーブルの列名を取得する方法はありますか?
データベースにあるすべての列名を表示したい。
私はEntity Frameworkを使用しています。データベースからテーブルの列名を取得する方法はありますか?
データベースにあるすべての列名を表示したい。
このクエリは 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'
私の知る限り、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 データベースから、すべての列とそれらが含まれるスキーマおよびテーブルが得られます。