[英]How to get column definition from query result
我需要一種從查詢結果中獲取列定義的方法。 現在,我正在使用SQL Server 2012。
這是示例場景,我有兩個表,分別是Event和Attendant,其定義如下:
CREATE TABLE [dbo].[Event] (
[Id] INT NOT NULL,
[Name] NVARCHAR (50) NULL,
[Description] NVARCHAR (50) NULL,
[StartDate] DATETIME NULL,
[EndDate] DATETIME NULL,
PRIMARY KEY CLUSTERED ([Id] ASC)
);
CREATE TABLE [dbo].[Attendant] (
[Id] INT NOT NULL,
[EventId] INT NOT NULL,
[Name] NVARCHAR (50) NULL,
[Company] NVARCHAR (50) NULL
PRIMARY KEY CLUSTERED ([Id] ASC)
);
然后我有查詢,如:
SELECT Event.Name as EventName, Attendant.Name as GuestName
FROM Event
INNER JOIN Attendant ON Event.Id = Attendant.EventId
如何獲得以上示例查詢結果的列定義? 我的目標是使用c#生成poco類來表示任何查詢結果的每個記錄。
您可以使用sp_columns sproc檢索有關指定表的列定義的信息...像這樣:
exec sp_columns Attendant
使用sp_columns
,它返回指定對象(表)的列信息。
有關詳細信息,請參考此鏈接 。
select * from information_schema.columns where table_name = '<tablename>'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.