本來想生成具有model格式的類,但是無法解決回車換行的問題,所以放到3個字段里的;如果有知道的博友,請指教:
t_jsd是表名
select '[Display(Name="'+ cast(tab.字段說明 as varchar) +'")]', case when (tab.類型='varchar' or tab.類型='nvarchar' or tab.類型='char') then '[StringLength('+cast( tab.占用字節數 as varchar) +', ErrorMessage = "{0}長度不能超過{1}")]' else '' end, 'public '+(case when tab.類型='varchar' then 'string' when tab.類型='nvarchar' then 'string' when tab.類型='char' then 'string' when tab.類型='datetime' then 'DateTime' else tab.類型 end )+' '+tab.字段名+' {get;set;}' from ( select 表名 = case when a.colorder=1 then d.name else '' end, 表說明 = case when a.colorder=1 then isnull(f.value,'') else '' end, 字段序號 = a.colorder, 字段名 = a.name, 標識 = case when columnproperty( a.id,a.name,'isidentity')=1 then '√'else '' end, 主鍵 = case when exists(select 1 from sysobjects where xtype='pk' and parent_obj=a.id and name in ( select name from sysindexes where indid in( select indid from sysindexkeys where id = a.id and colid=a.colid))) then '√' else '' end, 類型 = b.name, 占用字節數 = a.length, 長度 = columnproperty(a.id,a.name,'precision'), 小數位數 = isnull(columnproperty(a.id,a.name,'scale'),0), 允許空 = case when a.isnullable=1 then '√'else '' end, 默認值 = isnull(e.text,''), 字段說明 = isnull(g.[value],'') from syscolumns a left join systypes b on a.xusertype=b.xusertype inner join sysobjects d on a.id=d.id and d.xtype='u' and d.name<>'dtproperties' left join syscomments e on a.cdefault=e.id left join sys.extended_properties g on a.id=g.major_id and a.colid=g.minor_id left join sys.extended_properties f on d.id=f.major_id and f.minor_id=0 where d.name='t_jsd' ) tab