C#コードエンティティタイプの方法を生成するためのSQLServerデータベーステーブル

DECLARE @tablenameシステム名= 'T_CRM_Customer'
VARCHAR(MAX)= '@Result宣言
/// <要約>
///' + @tablename +

'
/// </要約>
パブリッククラス' + @tablename + '
{'

@Result = @Result + 'を選択
/// <要約>
///' + CONVERT(NVARCHAR(500)、ISNULL(COLNAME、 '无'))+

'
/// </要約>
公共' + ColumnType + NullableSign + '' + ColumnNameに+ '{取得します。セット; }
'
から

SELECT
) '_'、「ColumnNameのを、(col.nameを置き換える'
ColumnIDの、COLUMN_ID
prop.value COLNAMEは、
ケースtyp.name
場合'長い'を'BIGINT'
'バイナリ'を'バイト[]'
とき「ビット」、次に「ブール」
ときに「CHAR」「文字列」
「日付」その後「のDateTime」
「日時」その後「日時」


とき「小数」を「進」
ときに「フロート」「フロート」
「画像」し、「バイト[]」
「int型」し、 'int型
「お金」その後「小数」
とき「nchar型」を"シャア
とき「ntext型」し、「文字列」
とき「数値」その後「小数」
とき「nvarchar型」を「string」は
「本当の」し、「double」の
「smalldatetime型」を「日時」
とき「SMALLINT」は「短い」
とき" SMALLMONEY「を『進』
とき『』し、 『テキスト文字列』
『時間』し、 『のTimeSpan』
とき」タイムスタンプ」を『日時』
『TINYINT』を『バイト』
『UNIQUEIDENTIFIER』し、 『のGuid』
『varbinary型』し、 『バイト[]』
『varchar型』を『string』は
そう'UNKNOWN_' + typ.nameの
端ColumnType、
ケース
場合( 'BIGINT'、 'ビット'、 '日付'、 '日時'、 'DATETIME2'、 'のDateTimeOffset'、「小数でcol.is_nullable = 1とtyp.name 」、 'フロート'、 'INT'、 'お金'、 '数値'、 '本物'、 'SMALLDATETIME'、 'SMALLINT'、 'SMALLMONEY'、 '時間'、 'TINYINT'、 'UNIQUEIDENTIFIER')
そして、 '?'
他の''
エンドNullableSign
sys.columnsからはCOL
sys.types標準に参加
col.system_type_id = typ.system_type_id AND col.user_type_id = typ.user_type_id
LEFT JOINをsys.extended_properties小道具ON col.object_id = prop.major_id AND col.column_id =を小道具。


セット@Result = @Result + '
}'

印刷@Result

おすすめ

転載: www.cnblogs.com/zoumm/p/12000150.html